sklearn特征预处理:归一化和标准化

sklearn特征预处理:归一化和标准化

特征预处理:通过一些转换函数,将特征数据转换成更加适合算法模型的特征数据。API:sklearn.preprocessing
数值型数据的无量纲化:
1、归一化:x_new = (x - min)/(max - min),如果将其映射到指定的区间(a,b),则:x_new_new = x_new * (b-a) + a,一般是映射到(0,1),则:x_new_new = x_new。
归一化的缺点:如果数据中有异常值(最大值和最小值),影响比较大,鲁棒性比较差。
2、标准化:x_new = (x - mean)/bzc,bzc:标准差。标准化处理之后,数据的平均值是0,标准差是1。
标准化受异常值影响比较小,适用于数据多的场合。
以下是用sklearn模块进行归一化和标准化的示例代码:

from sklearn.preprocessing import MinMaxScaler,StandardScaler
import pandas as pd
import numpy as np

def minmax_demo():
    #归一化
    #获取数据
    data = pd.read_csv('data.txt')
    data = data.iloc[:,:3]  #只需要前3列的特征数据,目标数据不需要
    #实例化一个转换器类
    transfer = MinMaxScaler(feature_range=[0,1])
    #调用fit_transform
    data_new = transfer.fit_transform(data)
    print(data_new)
    return None

def standard_demo():
    #标准化
    #获取数据
    data = pd.read_csv('data.txt')
    data = data.iloc[:,:3]  #只需要前3列的特征数据,目标数据不需要
    #实例化一个转换器类
    transfer = StandardScaler()
    #调用fit_transform
    data_new = transfer.fit_transform(data)
    print(data_new)
    return None

if __name__ == "__main__":
    #minmax_demo()
    standard_demo()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值