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

 数据预处理

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

类别型数据: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

运行结果:

猜你喜欢

转载自www.cnblogs.com/doctorXiong/p/10584428.html