大致的工作流程
1.特征缩放/规范化/标准化,注意特征与目标变量、训练集与测试集均要做,如Standardlizer。训练集与测试集使用相同的Standardlizer对象,目标变量最后要做invert(这个问题我遇到过,就是standarlize后的target值也在-1到1之间,这不是实际值,实际值要记得invert成原数据形式)。
2.画相关性图谱,消除多重线性相关
多重共线性(Multicollinearity):自变量与自变量之间的相关性,导致过拟合
解决:皮尔逊相关系数分析分析相关度、添加正则化项解决共线性。
https://blog.csdn.net/xo3ylAF9kGs/article/details/78623269
3.特征重要性评价,如基于皮尔逊、斯皮尔曼、互信息的相关系数法,基于Lasso、随机森林的模型法
4.选择恰当的度量函数(损失函数,评价标准),如Log Loss,F1-Score(适用于不平衡样本)
5.划分训练集与测试集,对训练集进行基准模型预测,以及GridSearch带cv的调参预测。
回归cv=shufflesplit
分类cv=straightkforder
6.选择线性(如LR)、非线性(如SVM、RF、GBDT)多重算法
7.错误分析,分析预测错误类别、或者偏差较大的样本的分布,确认哪些模型在哪些样本上更加有效,可以做模型融合,如VotingClassifier ,Boosting,Bagging,Blending,Stacking
问题解析:
1.数据的预处理,数据存在什么问题,怎么解决?
数据可能存在的问题:
(1)不属于同一量纲:即特征的规格不一样,不能够放在一起比较。无量纲化可以解决这一问题。
常见的无量纲化方法有标准化和区间缩放法。标准化的前提是特征值服从正态分布,标准化后,其转换成标准正态分布。区间缩放法利用了边界值信息,将特征的取值区间缩放到某个特点的范围,例如[0, 1]等。
区间缩放法:思路有多种,常见的一种为利用两个最值进行缩放
(2)数据标准化(归一化):
- 需要归一化: 基于参数的模型或基于距离的模型,都是要进行特征的归一化。
- 不需要归一化:基于树的方法是不需要进行特征的归一化ÿ