一、数据预处理
1.1 如何处理数据集中丢失或损坏的数据?
(1)在数据集中找到丢失/损坏的数据,然后删除这些行或列
(2)在数据集中用另一个值替换它们,连续值(取平均值、中位数),离散值(取类别最多的一类)*
1.2 为什么需要对数值类型的特征做归一化?
为了消除数据特征之间的量纲影响,需要对特征进行归一化处理,使得不同指标之间具有可比性,对数值类型的特征做归一化可以将所有的特征都统一到一个大致相同的数值区间内。数据归一化使得所有特征的权重相等。
(1)线性函数归一化(Min-Max Scaling)
(2)零均值归一化(Z-Score Normalization)
(3)L1/L2 范数归一化
(4)中心化:x-mean代替原特征
例如,假设有两种数值型特征,x1 的取值范围为 [0, 10],x2 的取值范围为[0, 3],在学习速率相同的情况下,x1 的更新速度会大于x2 ,需要较多的迭代才能找到最优解,如果将x1 和x2 归一化到相同的数值区间后,x1 和x2 的更新速度变得更为一致,容易更快地通过梯度下降找到最优解。
1.3 处理不平衡数据集的6个技巧
-
(1)使用正确的度量方法来评估
精确度/特异性:正样本的预测准确率。
召回率/敏感性:所有预测为正样本的数据的准确率。
F1得分:精确率和召回率的调和平均
MCC:真阳率(TPR)和假阳率(FPR)的关系。 -
(2)采样法
有两个方法来得到平衡的数据集,一个是欠采样,一个是过采样
a. 欠采样(类别样本数多的样本做子采样):
欠采样通过减小多数类别的样本数量来得到平衡的数据集。保留所有的少数类别的样本,随机的抽取同样数量的多数类别样本,可以得到一个均衡的新的数据集,用来建模。
b. 过采样(类别样本数少的样本做过采样):
过采样用在数据集不够的情况下。通过增加少数类的样本数量来得到平衡的数据集。通过重复自助抽样或者SMOTE (合成少数类过采样)来生成少数类的数据。 -
(3)正确使用K折交叉验证
当使用过采样来解决不均衡数据集的问题的时候,需要适当的使用交叉验证。 -
(4)集成不同的重新采样的数据集
一个简单的最佳实践是使用所有的少数类和n个不同的多数类组成n个不同的数据集,构建模型。