sklearn -特征工程-预处理

该博客介绍了如何使用sklearn库进行数据预处理,包括归一化将列数据映射到0-1之间,讨论了异常点对归一化的影响,转向标准化方法,它对异常值不敏感。此外,还讲述了如何处理数据集中的缺失值,如用平均值填充numpy.NaN。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 归一化:列数据映射到0-1之间(受异常点影响)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

api:

from sklearn.preprocessing import MinMaxScaler

案例:

from sklearn.preprocessing import MinMaxScaler
def minmaxscaler():
    data = [[90,2,10,40],
            [60,4,15,45],
            [75,3,13,46]]
    mms = MinMaxScaler(feature_range=(0,1))
    data = mms.fit_transform(data)
    print(data)

结果

[[1.         0.         0.         0.        ]
 [0.         1.         1.         0.83333333]
 [0.5        0.5        0.6        1.        ]]

2 标准化

归一化受异常点影响太大,标准化基本不受异常点影响

反应偏移平均值的程度。
负,小于平均值
正大于平均值。
绝对值越大,偏移量越大

公式
在这里插入图片描述
在这里插入图片描述

api:

from sklearn.preprocessing import StandardScaler

代码:

from sklearn.preprocessing import StandardScaler
def standarscaler():
    data =[[1., -1., 3.],
     [2., 4., 2.],
     [4., 6., -1.]]
    ss = StandardScaler()
    data = ss.fit_transform(data)
    print(data)
standarscaler()
[[-1.06904497 -1.35873244  0.98058068]
 [-0.26726124  0.33968311  0.39223227]
 [ 1.33630621  1.01904933 -1.37281295]]

缺失值填充:

numpy.NaN的填充,例如填充为平均值
api

from sklearn.preprocessing import Imputer

代码

from sklearn.preprocessing import Imputer
import numpy as np
def full():
    data = [[1,2,3],
            [2,np.NaN,1],
            [3,4,1]]
    imputer = Imputer(missing_values='NaN',strategy='mean',axis=0)  # 0是列,1是行
    data = imputer.fit_transform(data)
    print(data)
full()
[[1. 2. 3.]
 [2. 3. 1.]
 [3. 4. 1.]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值