机器学习笔记(二)-特征预处理

本文介绍了数据预处理中的关键步骤,包括数值型数据的归一化和标准化处理,类别型数据的one-hot编码,以及如何处理数据集中的缺失值。通过实例展示了使用Python的sklearn库进行数据预处理的方法。

 数据预处理

(一)对数值型数据的预处理主要包括:归一化,标准化,缺失值

类别型数据:one-hot编码

时间类型:时间的切分

所用到的API :sklearn.preprocessing

 

(二)归一化(通过对原始数据进行变换把数据映射到默认的0-1之间)

目的是使得某一个特征不会对最终结果造成更大的影响。

 

缺点是当数据中的异常点较多时,对最终的归一化的结果影响较大,因此归一化只适用于传统数据量较小的场景。

 

(三)标准化(用的最多)

在样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。

 

实例:

from sklearn.preprocessing import StandardScaler

def standard():
    """"
    标准化
    """
    std=StandardScaler()
    data=std.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])
    print(data)    # 每列特征的平均值为0,标准差为1
    return None


if __name__=='__main__':
    # mm()
    standard()
View Code

运行结果:

 

(四)如何处理数据中的缺失值

 

实例:

from sklearn.preprocessing import Imputer
import  numpy as np

def imp():
    """
    缺失值处理
    """
    im = Imputer(missing_values='NaN',strategy='mean',axis=0)    # 按列的平均值进行填补
    data=im.fit_transform([[1,2],[np.nan,3],[3,6]])
    print(data)
    return None

if __name__=='__main__':
  
    imp()
View Code

运行结果:

 

转载于:https://www.cnblogs.com/doctorXiong/p/10584428.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值