标签:特征 错误 问题 web 中位数 维度 pca 目录 app
数据清洗一是为了解决数据质量问题,二是让数据更适合做挖掘
在处理缺失值之前,首先要理解为什么数据会有缺失。
直接丢弃含有缺失值的行或者列
# 丢弃有缺失值的列
df.dropna(axis=1,how='all'|'any',subset=[''])
如果一列中有大量数据缺失,可以建立一个只含01的列,来区分样本是否有数据缺失
用统计值(平均数、众数、中位数)填充缺失值
# 冒号:之前的a,b,c表示它们是这个函数的参数
# 匿名函数不需要return来返回值,表达式本身结果就是返回值
fill_mean = lambda col: col.fillna(col.mean())
df[['A','B','D']].apply(fill_mean, axis=0)
无论采用什么方法来插值,都需要小心Bias。尽管插值是一种常用的方法而且能让模型有更好的预测效果,但常常会导致模型过拟合。
AMELIA library中包含很多运用机器学习和贝叶斯统计的方法来填补缺失值的方法
有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。
for col in cat_cols:
df = pd.concat([df.drop(col,axis=1),pd.get_dummies(df[col],prefix=col,dummy_na=dummy_na,drop_first=True)],axis=1)
[用回归模型时要少编码一类](
标签:特征 错误 问题 web 中位数 维度 pca 目录 app
原文地址:https://www.cnblogs.com/JasonBUPT/p/11614141.html