一、回归模型
回归问题:最终得到的是一个结果的是一个数值(比如预测银行会给你贷款多少钱)
分类问题:最终结果就是0或1(比如根据一个人的医学数据来预测他是否得糖尿病)
线性回归:
逻辑回归:
这是一个分类算法不是回归算法
二、决策树
我们引入公式来计算熵和Gini系数,这个公式可以使得p很小时熵就很大、Gini系数也很大;P很大时,熵就很小、Gini系数也很小
2.构造决策树的原理
3.实例:如何构造决策树
4.决策树剪枝
三、随机森林
第四章 xgboost
xgboost是多棵树的集成,但它不是多棵树的和,它要求每加一棵树都能使结果得到一个提升
第四章 贝叶斯算法
第五章 支持向量SVM
支持向量SVM
软间隔支持向量机
核函数变换
第六章 ARIMA模型
第七章 k近邻和交叉验证
第八章 神经网络算法
矩阵的乘法(mxn)X(nxs)结果是(mxs)
损失函数–SVM损失函数
损失函数–Softmax损失函数
反向传播
神经网络
参数设置
未摘抄:第八章"神经网络架构"第四节"感受神经网络的强大""
第九章 PCA
第十章 SVD
第十一章 聚类算法
K-means聚类算法
DBscan聚类算法
第十二章 推荐系统
基于用户的协同过滤
隐语义模型
第十三章 Word2Vec
第十四章、数据预处理
库的算法主要有四类:
- 监督学习的:分类,回归,
- 无监督学习的:聚类,降维。
- 常用的回归:线性、决策树、SVM、KNN
集成回归:随机森林- 常用的分类:线性、决策树、SVM、KNN,朴素贝叶斯;
集成分类:随机森林- 常用聚类:k均值(K-means)、DBSCAN
- 常用降维:LinearDiscriminantAnalysis、PCA
2.1 数据标准化
Standardization标准化:将特征数据的分布调整成标准正太分布,也叫高斯分布,也就是使得数据的均值维0,方差为1。标准化的过程为两步:去均值的中心化(均值变为0);方差的规模化(方差变为1)。
2.2 最小-最大规范化
①MinMaxScaler规模化特征到[0,1]内
为了对付那些标准差相当小的特征并且保留下稀疏数据中的0值,需要将特征规模化到一定的[0,1]范围内。我们用MinMaxScaler
②MaxAbsScaler规模化特征到[0,1]内
原理与上面的很像,只是数据会被规模化到[-1,1]之间。也就是特征中,所有数据都会除以最大值。这个方法对那些已经中心化均值维0或者稀疏的数据有意义。
2.3 正则化(normalize)
当你想要计算两个样本的相似度时必不可少的一个操作,就是正则化。其思想是:首先求出样本的p范数,然后该样本的所有元素都要除以该范数,这样最终使得每个样本的范数都是1。规范化(Normalization)是将不同变化范围的值映射到相同的固定范围,常见的是[0,1],也成为归一化。
如下例子,将每个样本变换成unit norm。
'''
array[[ 0.40824829 -0.40824829 0.81649658]
[ 1. 0. 0. ]
[ 0. 0.70710678 -0.70710678]]
'''
====================================================================
我们可以发现[ 0.40824829 -0.40824829 0.81649658]中有`0.4^2+0.4^2+0.81^2=1`。
这就是L2 norm
L2 norm,变换后每个样本的各维特征的平方和为1.类似的,
L1 norm则是变换后每个样本的各维特征的绝对值之和为1.
还有max norm,则是将每个样本的各维特征除以该样本各维特征的最大值,
====================================================================
2.4 特征二值化(Binarization)
特征的二值化是指将数值型的特征数据转换成布尔类型的值。可以使用实用类Binarizer。
2.5 类别特征编码
== ①one-hot编码==
② 标签编码(Label encoding)
([“tokyo”, “tokyo”, “paris”]) 用array([2, 2, 1])表示
2.6弥补缺失值
①slearn的缺失值处理器: Imputer
- “mean”使用平均值代替
- “median”使用中值代替
- “most_frequent”使用众数代替,也就是出现次数最多的数
第十五章、监督学习
第十六章、无监督学习
聚类问题:如K-Means算法和DBscan算法
降维问题:PCA降维算法
NMF降维算法
第十七章、模型评估
1.TPR、FPR&TNR(混淆矩阵)
-
在二分类问题中,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被预测成正类,即为真正类(True positive),如果实例是负类被预测成正类,称之为假正类(False
positive)。相应地,如果实例是负类被预测成负类,称之为真负类(True negative),正类被预测成负类则为假负类(false
negative)。 -
真正、假正、真负、假负
-
真正类率TPR=(真正)/(真正+假负)。实际为真的里面,机器有多少预测对了(是正确率)。
-
负正类率FPR=(假正)/(假正+真负)。实际为负的里面,机器有多少错认为是真的(是错误率)。
2. 精确率Precision、召回率Recall和F1值
①精确率Precision = (真正)/(真正+假正)。精确率只看预测,不看实际,只看预测出来的正确率是多少。
②召回率Recall=(真正)/(真正+假负)。召回率看的是实际,只看实际为真的里面,机器有多少预测对了。
③一般来说,Precision就是检索出来的条目有多少是准确的,Recall就是所有准确的条目有多少被检索出来了(10个犯罪分子,你抓捕了100人,只逮到8个是正确的,召回率就是0.8,精确率就是0.08(精确率只看预测); 10次地震,你警报拉响100次,其中八次是正确的,召回率就是0.8,准确率就是0.08(精确率只看预测) ;池塘1400条鲤鱼,撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。召回率就是700/1400,准确率就是700/1000(精确率只看预测)
④精准度(又称查准率)和召回率(又称查全率)是一对矛盾的度量。一般来说,查准率高时,查全率往往偏低,而查全率高时,查准率往往偏低。所以通常只有在一些简单任务中,才可能使得查准率和查全率都很高。
⑤F1值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) 。F1较高时则能说明试验方法比较有效。