机器学习:数据特征预处理(缺失值处理)

缺失值处理 API: sklearn.preprocessing.Imputer

缺失值的处理一般使用pandas处理,这里scikit-learn也有方法,就介绍一下scikit-learn的方法。
缺失值处理方法:

删除插补
如果每列或者行数据缺失值达到一定的比例,建议放弃整行或者整列可以通过缺失值每行或者每列的平均值、中位数来填充

建议按每一列的特征进行填补
Imputer语法:

-Imputer(missing_values=‘NaN’, strategy=‘mean’, axis=0)
完成缺失值插补

-Imputer.fit_transform(X,y)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后的形状相同的array

pandas处理:dropna,fillna
pandas处理和Imputer处理都需要把缺失值处理为np.nan格式
这里可以去采用replace函数进行替换。

from sklearn.preprocessing import Imputer
import numpy as np
def im():
    """缺失值处理"""
    #missing_value 缺失值标记
    #strategy  填补策略 mean平均值
    #axis 1行   0列
    im=Imputer(missing_values='NaN',strategy='mean',axis=0)
    data=im.fit_transform([[1, 2],
                          [np.nan, 3],
                            [7, 6]]
)
    print(data)
    return None

if __name__ == '__main__':
    im()

关于np.nan(np.NaN):

  1. numpy的数组中可以使用np.nan/np.NaN来代替缺失值,属于float类型
  2. 如果是文件中的一些缺失值,可以替换成nan,通过np.array转化成float
    型的数组即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值