- 博客(36)
- 收藏
- 关注
原创 FM模型
FM模型一、FM模型的意义1、传统模型的缺点忽略了特征之间的联系特征高维、稀疏,容易爆炸2、什么是FM模型FM就是Factor Machine,因子分解机。FM通过对两两特征组合,引入交叉项特征,提高模型得分;其次是高维灾难,通过引入隐向量(对参数矩阵进行矩阵分解),完成对特征的参数估计。二、FM模型1、对特征进行组合一般的线性模型y=ω0+∑i=1nwixiy = {\om...
2019-10-22 11:08:59 9512
原创 100-Days-Of-ML系列Day
今天继续学习机器学习算法——KNN。KNN是通过测量不同特征值之间的距离进行分类的一种算法。它的思路是:如果一个样本在特征空间的k个最相似(即特征空间中最近邻)的样本大多数属于某一个类别,则该样本也属于这个类别,其中k通常是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别决定待分样本所属的类别。下面通过一个简单的例子说明...
2018-09-28 10:33:59 505
原创 100-Days-Of-ML系列Day4、
逻辑回归逻辑回归(Logistic Regression)是用于处理分类问题的一种算法,常用于二分类的处理,当然也可以处理多分类问题。它的思想是基于线性回归,实质上是一种广义线性回归模型。 对于逻辑回归模型,最核心的部分就是引进了sigmoid函数。如下图: 通过sigmoid函数,可以将任意的输入映射到[0,1]之间,对于二分类问题,我们可以认为这样的输出值就是一个概率。 下面给出...
2018-09-28 09:02:07 244
原创 100-Days-Of-ML系列Day6
上一篇文章已经解释了逻辑回归的原理和数学推导过程,这一篇来学习逻辑回归在python中的实现。 数据集在这里 该数据集包含了社交网络中用户的信息。这些信息涉及用户ID,性别,年龄以及预估薪资。一家汽车公司刚刚推出了他们新型的豪华SUV,我们尝试预测哪些用户会购买这种全新SUV。并且在最后一列用来表示用户是否购买。我们将建立一种模型来预测用户是否购买这种SUV,该模型基于两个变量,分别是年龄和预...
2018-09-11 19:23:36 205
原创 100-Days-Of-ML系列Day3
今天来学习多元线性回归。多元线性回归与简单线性回归类似,都是尝试通过一个线性函数来拟合数据,不同的是,多元线性回归的自变量包含两个或两个以上的特征。 首先给出多元线性回归的一般模型:hθ(x)=θ0+θ1x1+⋯+θnxnhθ(x)=θ0+θ1x1+⋯+θnxn{h_\theta }\left( x \right) = {\theta _0} + {\theta _1}{x_1} + \cdo...
2018-08-16 00:19:34 337
原创 100-Days-Of-ML系列Day2
今天来学习简单的线性回归。线性回归假定自变量与因变量存在着线性关系,我们希望找到一个线性函数表示x和y之间的关系。 第一步:数据预处理根据昨天所学的知识对数值型变量、分类变量、缺失值等进行预处理。 导入所需要的库函数:import pandas as pdimport numpy as npimport matplotlib.pyplot as plt读取数据d...
2018-08-14 18:43:01 204
原创 100-Days-Of-ML系列Day1
最近看到github上有100-Days-Of-ML系列的项目,出了中英文版,在这里做一下搬运工,加上自己的学习体会,与大家分享。英文原版地址:英文版,中文版地址:中文版。 第一天的标题为数据预处理,一共分为了6步,都比较简单,属于入门级的预处理。具体如下: 第一步:导入库导入所需要的python库,首先确保已经安装了numpy库、pandas库,为了使用方便,用as进行重命名。i...
2018-08-13 19:13:46 473
原创 windows10下安装tensorflow-gpu与cuda
新换了一台电脑,尝试着安装tensorflow-gpu,按网上的博客安装时发现各种坑,根本无法配置成功。摸索了两天,终于装好了,把正确的配置分享一下。 最新版Tensorflow 1.8配的并不是最新的cuda9.2,而是cuda9.0,安装了cuda9.0,那接下来就是要配相应的cudnn了,也就是cudnn7.1.4 for cuda9.0即cudnn-9.0-windows10-x64-v...
2018-06-07 19:46:57 443
原创 自然语言处理之中文分词算法
关于分词目前有三大主流分词方法:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。1、基于字符串匹配的分词方法基于字符串匹配的分词方法又称为机械分词方法,它需要有一个初始的充分大的词典,然后将待分词的字符串与词典中的元素进行匹配,若能成功匹配,则将该词切分出来。 按扫描方向的不同,字符串匹配分词方法可以分为正相匹配和逆向匹配;按照不同长度的匹配优先度可以划分为最大匹配...
2018-05-03 22:57:25 18290
原创 信用卡欺诈检测
项目背景从银行提供的数据中,找出信用卡欺诈样本。数据简介原始数据为个人交易记录,但是考虑数据本身的隐私性,已经对原始数据进行了类似PCA的处理,现在已经把特征数据提取好了,接下来的目的就是如何建立模型使得检测的效果达到最好,所以我们虽然不需要对数据做特征提取。 数据规模:数据共284807条,后期算法选择需要注意复杂度。 数据特征:V1~V28是PCA的结果,而且进行了规范化,A...
2018-05-03 17:40:22 2367
原创 回归
回归首先理解回归与分类的区别:回归的y值是针对连续值的,而分类中的y值则为离散值。 下面介绍几种重要的回归线性回归通常回归可以写成这样的形式(两个变量):hθ(x)=θ0+θ1x1+θ2x2hθ(x)=θ0+θ1x1+θ2x2{h_\theta }\left( x \right) = {\theta _0} + {\theta _1}{x_1} + {\theta _2}{x_2...
2018-05-03 11:34:45 260
原创 《算法图解》第十一章学习心得
1、树二叉查找树 (binary search tree),如下图对于其中的每个节点,左子节点的值都比它小,而右子节点的值都比它大 (按字母表排序)。 假设你要查找Maggie。 为此, 你首先检查根节点。Maggie排在David的后面, 因此你往右边找。Maggie排在Manning前面, 因此你往左边找。终于找到了Maggie! 这几乎与二分查找一样! 在二叉查找树中查找节点时, 平均运行时...
2018-04-01 19:11:42 256
原创 《算法图解》第十章K最近邻算法学习心得
1、K最近邻 (k-nearest neighbours, KNN) 算法 问题:橙子还是柚子 ?一般而言, 柚子更大、 更红。 这个水果又大又红, 因此很可能是柚子。但下面这样的水果呢? 一种办法是看它的邻居。 来看看离它最近的三个邻居。 在这三个邻居中, 橙子比柚子多, 因此这个水果很可能是橙子。这就是使用K最近邻 (k-nearest neighbours, KNN) 算法进行了分类!其中邻...
2018-04-01 17:12:02 561
原创 《算法图解》第九章动态规划学习心得
1、背包问题动态规划先解决子问题,再逐步解决大问题。每个动态规划都从一个网格开始,背包问题的网格如下:网格最初是空的,动态规划就是逐步将网格填满。吉他行第一个单元格表示背包的容量为1磅。 吉他的重量也是1磅, 这意味着它能装入背包! 因此这个单元格包含吉他, 价值为1500美元。 来看下一个单元格,这个单元格表示背包的容量为2磅, 完全能够装下吉他!这行的其他的单元格也是如此,因为你目前只能把吉他...
2018-04-01 16:42:19 2423
原创 《算法图解》第八章贪婪算法学习心得
1、近似算法近似算法 (approximation algorithm) 。 在获得精确解需要的时间太长时, 可使用近似算法。 判断近似算法优劣的标准如下:速度有多快;得到的近似解与最优解的接近程度。集合覆盖问题算法举例states_need=set(["mt", "wa", "or", "id", "nv", "ut","ca", "az"])#传
2018-03-31 23:44:43 1138 1
原创 《算法图解》第七章迪克斯特拉学习心得
1、狄克斯特拉算法 (Dijkstra's algorithm) 对于广度优先搜索找出的路径,只适用于图中边的权值都相同的情况,如果权值不相同,可能找出的未必是最短路径。如图:对于不同权值的图,我们使用狄克斯特拉算法寻找最短路径,该算法包含以下四个步骤:找出“最便宜”的节点, 即可在最短时间内到达的节点。更新该节点的邻居的开销, 其含义将稍后介绍。重复这个过程, 直到对图中的每个节点都这样做了。计...
2018-03-31 22:24:18 2839
原创 《算法图解》第六章广度优先搜索学习心得
1、图简介最短路径问题(shorterst-path problem),如前往朋友家的最短路径, 也可能是国际象棋中把对方将死的最少步数。 解决最短路径问题的算法被称为广度优先搜索 。 解决最短路径问题需要两个步骤:使用图来创建问题模型。使用广度优先搜索解决问题。 图仿真一组连接。 图由节点 (node) 和边 (edge)组成。一个节点可能与众多节点直接相连,这些节点被称为邻居 。 有向图 (d...
2018-03-31 16:50:55 861
原创 《算法图解》第五章散列表学习心得
1、散列函数散列函数必须满足一些要求:它必须是一致的。 例如, 假设你输入apple时得到的是4, 那么每次输入apple时, 得到的都必须为4。 如果不是这样, 散列表将毫无用处;它应将不同的输入映射到不同的数字。 例如, 如果一个散列函数不管输入是什么都返回1, 它就不是好的散列函数。 最理想的情况是, 将不同的输入映射到不同的数字。 散列函数的特性:散列函数总是将同样的输入映射到相同的索引;...
2018-03-30 22:38:19 747
原创 《算法图解》第四章快速排序学习心得
1、分而治之(divide and conquer, D&C)工作原理:找出简单的基线条件;确定如何缩小问题的规模,使其符合基线条件。2、递归求和def addarr(arr): if arr==[]: return 0 else: return arr[0]+addarr(arr[1:])3、快速排序def quicksort(array)...
2018-03-30 21:40:57 407
原创 《算法图解》第三章递归学习心得
1、问题的引入盒子里有盒子, 而盒子里的盒子又有盒子。 钥匙就在某个盒子中。 分别用while循环和递归解决这个问题(伪代码):while循环:def look_for_key(main_box): pile=main_box.make_a_pile_to_look_through() while pile is not empty: box=pile.grab_a...
2018-03-30 20:05:30 621
原创 《算法图解》第二章学习心得(二)
选择排序算法python3代码:def findSmallest(arr): smallest=arr[0]#存储最小的值 smallest_index=0#存储最小元素的索引 for i in range(1,len(arr)): if arr[i]<smallest: smallest_index=i return ...
2018-03-29 21:48:16 293
原创 《算法图解》第二章学习心得(一)
1、存储方式数组:数组在计算机内存中都是相连的,添加新元素比较麻烦,速度也会很慢。数组的插入时间复杂度为O(n)链表:链表中的元素可存储在内存的任何地方。链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。添加元素方便。链表的插入时间复杂度为O(1)2、访问数组:知道数组中每个元素的地址。 需要随机地读取元素时, 数组的效率很高, 因为可迅速找到数组的任何元素。 数组的元素...
2018-03-29 21:35:59 232
原创 《算法图解》第一章学习心得
二分法学习要点:仅当列表是有序的时候, 二分查找才管用。 如按英文字母表排序的电话簿。时间复杂度为log2(n)二分法搜索的python3代码def binary_search(list,item): low=0 high=len(list)-1#low和high用于跟踪要在其中查找的列表位置 while low<=high: mid=int((low...
2018-03-29 20:52:32 268
原创 python3爬虫入门之正则表达式
本文对正则表达式进行简单的讲解,对于毫无爬虫基础的同学可以5分钟入门。首先,导入爬虫所需要的re库。import re.的使用:#点号表示占位符a='xz123'b=re.findall('x.',a)c=re.findall('x..',a)print(b)print(c)['xz']['xz1']*的使用:#*号匹配前一个字符0次或无限次a='xyxy123'b
2018-02-05 09:59:51 284
原创 组个最小数 (20) python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB题目描述给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)。例如:给定两个0,两个1,三个5,一个8,我们得到的最小的数就是10015558。现给定数字,请编写程序输出能够组成的最小的数。输入描述:
2018-01-24 21:45:44 325
原创 D进制的A+B (20)
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB题目描述输入两个非负10进制整数A和B(30-1),输出A+B的D (1 输入描述:输入在一行中依次给出3个整数A、B和D。输出描述:输出A+B的D进制数。输入例子:123 456 8输出例子:1103a,b,c=map(i
2018-01-23 21:16:20 225
原创 个位数统计 (15)python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 给定一个k位整数N = dk-1*10k-1 + … + d1*101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入描述: 每个输入包含1个测试用例,即一个不超过100
2017-11-29 23:22:48 540
原创 基于sklearn的感知机python3
首先,本文还是选用python里面自带的digits数据集from sklearn.datasets import load_digitsdigits=load_digits()大家都知道这个数据集是一些图片,我们对数据进行处理:#数据标准化from sklearn.preprocessing import StandardScalerscaler=StandardScaler()scale
2017-11-28 16:43:24 1369
原创 月饼 (25)python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿
2017-11-28 00:52:34 599
原创 基于sklearn的决策树python3
首先读取数据,使用的是隐形眼镜数据集。进行数据预处理。import numpy as npfrom sklearn.feature_extraction import DictVectorizerdata = []labels = []with open("lenses.txt") as ifile: for line in ifile: rowD
2017-11-27 20:00:34 2888 2
原创 1019. 数字黑洞 (20)python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。例如,我们从6767开始,将得到7766 - 6677 =
2017-11-26 22:52:57 574
原创 锤子剪刀布 (20)python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 大家应该都会玩“锤子剪刀布”的游戏:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入描述: 输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第
2017-11-25 00:03:13 311
原创 A除以B (20)python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入描述: 输入在1行中依次给出A和B,中间以1空格分隔。输出描述: 在1行中依次输出Q和R,中间以1空格分隔。输入例子: 123456789050987654321
2017-11-24 22:10:28 2138
原创 部分A+B (15)python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6。现给定A、DA、B、DB,请编写程序计算PA + PB。输入描述: 输入在一行中依次给出A、DA、B、DB,中间以空格分隔,其中0 <
2017-11-23 22:51:16 480
原创 德才论 (25)python3
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 题目描述 宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入描述: 输入第1行给出3个正整数,分别为:N(<=
2017-11-23 00:37:56 433
原创 福尔摩斯的约会 (20)
福尔摩斯的约会 (20)时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB题目描述大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写
2017-11-22 00:24:30 198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人