逻辑回归模型(LR)
原理:分类模型,依据逻辑斯蒂分布,将线性模型转化为逻辑回归模型,使结果分布0~1之间。
前置条件:
自变量为连续变量,分类变量转为虚拟变量(哑变量)使用
自变量与因变量存在相关性
自变量之间不存在共线性
参数求解:极大似然估计
优化算法:拟牛顿法,梯度下降法
R方:模型中自变量对因变量的解释程度
聚类模型(Kmean)
原理:选取k个实例作为质心,计算所有实例到质心的距离,根据距离划分实例所属的质心,再对每个分类计算新的质心(中心点),再次求取距离划分所属质心,直至质心不再发生改变或达到最大迭代次数。
前置条件:数据无量纲化(正则化或归一化)
距离:余弦相似度,欧式距离
k值:先预设一个k值,聚类结束观察各类之间属性是否区分明显,若不明显则调整k值
决策树(CART)
原理:计算所有特征的可能切分点的基尼指数,选取最小基尼指数进行切分,直至所有特征都进行划分,再计算每个节点的损失函数(即预剪枝前后的基尼指数之差),选取最小的进行剪枝,采用交叉验证法选出整体基尼指数最小的树作为最优树
基尼指数:类似信息熵,用于衡量不确定性,1-各类概率的平方和
关联规则(Apriori)
原理:构成候选1项集,根据支持度删减,再将剩余的频繁1项集组成候选2项集,再进行删减,直至无法再生成候选项集,选取最终的频繁项集中置信度最高的子项
支持度:项集的发生概率(出现频率)
置信度:条件概率
支持向量机(SVM)
原理:生成随机平面,计算各实例点到平面的几何距离,调整平面参数,使得几何距离到达最大
与感知机的区别:感知机的目标是分对实例点,而支持向量机的目标是产生最大间隔
协同过滤算法(CF)
原理:
基于商品的协同过滤:计算用户对商品的偏好,再根据商品的偏好特征向量之间的余弦相似度,找到最相似的产品关系,依据这层偏好关系推送对应产品。
基于用户的协同过滤:计算用于对商品的偏好,再根据用户的偏好特征向量之间的余弦相似度,找到最相似的用户关系,依据这层偏好关系推送对应产品。
一般选取基于商品的协同过滤,因为商品的相似度要高于人的相似度。
分类模型通用的效果评估
指标 | 描述 | Scikit-learn函数(python) | 评估方式 | 计算方式 |
Precision | 精准度 | from sklearn.metrics import precision_score | 正预测中预测对的比例 | TP/(TP+FP) |
Recall | 召回率 | from sklearn.metrics import recall_score | 真正例中预测对的比例 | TP/(TP+FN) |
ROC | ROC曲线 | from sklearn.metrics import roc | ROC曲线越凸向左上方向效果越好;越靠近对角线,分类器越趋向于随机分类器 | x:TP/(TP+FN) y:FP/(FP+TN) |
AUC | ROC曲线下的面积 | from sklearn.metrics import auc | 0-0.6 差 0.6-0.8 较好 0.8-1 好 |
T/F:预测结果正确/错误 P/N:预测值正类/负类
注意:
测试集准确率高但auc低:因为测试集中因变量分布极度不均匀,例如因变量(99个0,1个1),但预测值全部要选向0,则准确率有0.99
解决方法1(欠采样):
剔除多数类样本,使得分类样本分布均匀。缺点:由于样本减少导致信息缺失
解决方法2(过采样):
复制少数类样本,使得分类样本分布均匀。缺点:数据量增加,训练复杂度加大(对于大数据而言可以忽略);过拟合,重复数据导致少数类样本特征过于集中
解决方法3(代价敏感学习)【通过调整FN/FP的敏感比例,提高少数类错判的权重】: