填充缺失值(Imputation)
为什么要填充缺失值?
- 大多数机器学习模型 不能处理 NaN
-
直接删除数据可能导致:
- 样本数量大幅减少
- 类别比例失衡
- 合理填充能 保留信息 + 提升模型稳定性
均值填充(Mean Imputation)
适用情况:
- 连续数值型变量
- 数据分布较对称
- 异常值不多
train["Age"].fillna(train["Age"].mean(), inplace=True)
缺点:
- 对异常值非常敏感
- 可能拉偏整体分布
中位数填充(Median Imputation)
适用情况:
- 连续数值型变量
- 存在异常值或偏态分布
train["Age"].fillna(train["Age"].median(), inplace=True)
优点:
- 抗异常值能力强
- 工业界最常用
众数填充(Mode Imputation)
适用情况:
- 类别型变量
- 离散特征
train["Embarked"].fillna(train["Embarked"].mode()[0], inplace=True)
常见使用对象:
- 性别
- 城市
- 国家
- 等级类别
异常值检测(Outlier Detection)
pt.boxplot(dataframe)