数据缺失值处理
1 明确缺失原因
2 如果有缺失项的数据在训练数据和预测数据中的比例都不大的话,可以直接删除整条数据
3 用众数、平均数等代表性数据或自定义数据来代替
4 用完整数据基于其他未缺失指标建立预测模型预测缺失值
数据异常值处理
异常样本:极其小的小概率事件
- 离散变量:稀有类别值
- 连续变量:取值过大或过小(可以以3σ为阈值,Tukey’s test——箱线图)
Tukey’s test
Q_1、Q_2、Q_3分别为下四分位数、中位数、上四分位数
异常值下界:Q_1-K(Q_3-Q_1)
异常值上界:Q_3+K(Q_3-Q_1)
K=1.5 中度异常;K=3 极度异常
可视化方法:箱线图
plt.boxplot(x=data.values,labels=data.columns,whis=1.5)
plt.show()
data.boxplot()
plt.show()
处理方法:
- 直接删除
- 针对异常值进行进一步分析
数据转换
(牺牲指标的可解释性,获取模型的高预测能力):
- 衍生变量
- 将有偏分布改善为无偏
- 归一化
- 分箱
筛选输入变量
可以首先删去的变量:
- 所有样本中该变量取值相同(无差别)
- 缺失值比例高于95%
- 类别过于分散的离散变量(对于区分样本无效果)
其次用算法来筛选:
- R^2 ,F检验(方差齐性检验)
- 卡方检验
- 皮尔逊相关系数检验
- 降维
- 机器学习中的特征选择