特征工程————特征预处理

特征预处理是数据分析的重要步骤,包括归一化和标准化。归一化通过MinMaxScaler将数据映射到[0,1]区间,适合量级差异大的数据。标准化则使用StandardScaler将数据转换为均值为0,标准差为1,适用于大数据场景,具有更好的稳定性。这两种方法有助于消除特征间的量纲影响,提升算法模型的性能。
摘要由CSDN通过智能技术生成

2.4.1 什么是特征预处理

通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程
数值型数据的无量纲化

  • 归一化
  • 标准化
    特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,使得一些算法无法学习到其它的特征,因此通过归一化将数据转化为相同量级

2.4.2 归一化

通过对原始数据进行变换把数据映射到 (默认为[0,1]) 之间
在这里插入图片描述
调用API:

sklearn.preprocessing.MinMaxScaler (feature_range=(0,1))
	MinMaxScalar.fit_transform(X)
		X:numpy array格式的数据[n_samples,n_features]
		返回值:转换后的形状相同的array
import pandas as pd
from sklearn.preprocessing import MinMaxScaler

def minmax_demo():
    """
    归一化处理
    :return:None
    """
    #读取数据文件
    data=pd.read_csv("data.txt")
    data=data.iloc[:10,:3]          #只取数据的前10行和前三列

    #实例化
    transfer=MinMaxScaler(feature_range=(0,1))      #归一化范围为0-1

    #输出
    data_new=transfer.fit_transform(data)
    print("归一化前结果为:\n", data)
    print("归一化后结果为:\n",data_new)

总结:最大值最小值是变化的,另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。

2.4.3 标准化

通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内
在这里插入图片描述
调用API:

sklearn.preprocessing.StandardScaler( )
	处理之后每列来说所有数据都聚集在均值0附近标准差差为1
		StandardScaler.fit_transform(X)
		X:numpy array格式的数据[n_samples,n_features]
		返回值:转换后的形状相同的array
import pandas as pd
from sklearn.preprocessing import StandardScaler

def stand_demo():
    """
    标准化演示
    :return: None
    """
    data = pd.read_csv("data.txt")
	data=data.iloc[:10,:3]          #只取数据的前10行和前三列
	
    # 1、实例化一个转换器类
    transfer = StandardScaler()
    # 2、调用fit_transform
    data_new = transfer.fit_transform(data)
    print("标准化的结果:\n", data_new)
    print("每一列特征的平均值:\n", transfer.mean_)
    print("每一列特征的方差:\n", transfer.var_)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值