其他分享
首页 > 其他分享> > 机器学习入门————特征预处理

机器学习入门————特征预处理

作者:互联网

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_)

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

标签:机器,入门,fit,数据,transfer,归一化,print,data,预处理
来源: https://blog.csdn.net/zcolaz/article/details/123590504