python 特征缺失值填充
Posted 静悟生慧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 特征缺失值填充相关的知识,希望对你有一定的参考价值。
我们在进行模型训练时,不可避免的会遇到某些特征出现空值的情况,下面整理了几种填充空值的方法
1. 用固定值填充
对于特征值缺失的一种常见的方法就是可以用固定值来填充,例如0,9999, -9999, 例如下面对灰度分这个特征缺失值全部填充为-99
data[‘灰度分‘] = data[‘灰度分‘].fillna(‘-99‘)
2. 用均值填充
对于数值型的特征,其缺失值也可以用未缺失数据的均值填充,下面对灰度分这个特征缺失值进行均值填充
data[‘灰度分‘] = data[‘灰度分‘].fillna(data[‘灰度分‘].mean()))
3. 用众数填充
与均值类似,可以用未缺失数据的众数来填充缺失值
data[‘灰度分‘] = data[‘灰度分‘].fillna(data[‘灰度分‘].mode()))
4. 用上下数据进行填充
用前一个数据进行填充
data[‘灰度分‘] = data[‘灰度分‘].fillna(method=‘pad‘)
用后一个数据进行填充
data[‘灰度分‘] = data[‘灰度分‘].fillna(method=‘bfill‘)
5. 用插值法填充
data[‘灰度分‘] = data[‘灰度分‘].interpolate()
6. 用KNN进行填充
from fancyimpute import BiScaler, KNN, NuclearNormMinimization, SoftImpute
dataset = KNN(k=3).complete(dataset)
以上是关于python 特征缺失值填充的主要内容,如果未能解决你的问题,请参考以下文章
缺失值处理拉格朗日插值法—随机森林算法填充—sklearn填充(均值/众数/中位数)