特征预处理之归一化&标准化
2021-01-23 22:50
1201 查看
写在前面
这篇博客的主要内容
- 应用MinMaxScaler实现对特征数据进行归一化
- 应用StandardScaler实现对特征数据进行标准化
特征预处理
定义
通过一些转换函数将特征数据转换成更加适合算法模型的特征数据过程
特征预处理API
sklearn.preprocessing
为什么要进行归一化/标准化?
特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,使得一些算法无法学习到其它的特征
归一化
定义
通过对原始数据进行变换把数据映射到(默认为[0,1])之间
作用于每一列,max为一列的最大值,min为一列的最小值,那么X’’为最终结果,mx,mi分别为指定区间值默认mx为1,mi为0
API
- sklearn.preprocessing.MinMaxScaler (feature_range=(0,1)… ) MinMaxScalar.fit_transform(X) X:numpy array格式的数据[n_samples,n_features]
数据
milage,Liters,Consumtime,target 40920,8.326976,0.953952,3 14488,7.153469,1.673904,2 26052,1.441871,0.805124,1 75136,13.147394,0.428964,1 38344,1.669788,0.134296,1
代码
from sklearn.preprocessing import MinMaxScaler import pandas as pd def minmax_demo(): data = pd.read_csv("dating.txt") print(data) # 1、实例化一个转换器类 transfer = MinMaxScaler(feature_range=(2, 3)) # 2、调用fit_transform data = transfer.fit_transform(data[['milage','Liters','Consumtime']]) print("最小值最大值归一化处理的结果:\n", data) return None
结果
标准化
定义
通过对原始数据进行变换把数据变换到均值为0,标准差为1范围内
作用于每一列,mean为平均值,σ为标准差
API
- sklearn.preprocessing.StandardScaler( ) 处理之后每列来说所有数据都聚集在均值0附近标准差差为1
- StandardScaler.fit_transform(X) X:numpy array格式的数据[n_samples,n_features]
数据
同上归一化介绍中使用的数据
代码
from sklearn.preprocessing import StandardScaler import pandas as pd def stand_demo(): data = pd.read_csv("dating.txt") print(data) transfer = StandardScaler() data = transfer.fit_transform(data[['milage','Liters','Consumtime']]) print("标准化的结果:\n",data) print("每一列特征的平均值:\n",transfer.mean_) print("每一列特征的方差:\n",transfer.var_) return None
运行结果
相关文章推荐
- 机器学习:数据特征预处理(归一化以及标准化对比)
- 【机器学习】特征数据预处理-标准化和归一化
- 【机器学习】sklearn数据特征预处理:归一化和标准化
- spark 数据预处理 特征标准化 归一化模块
- Python数据预处理—归一化,标准化,正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 特征缩放 | 归一化和标准化 (下)
- 【原】关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 使用sklearn进行数据预处理 —— 标准化/归一化/正则化
- [Scikit-Learn] - 数据预处理 - 归一化/标准化/正则化
- 机器学习——特征标准化、归一化、缩放、二值化
- 数据预处理方法-特征标准化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 数据标准化 数据归一化 数据预处理 data normalization / scale
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- Matlab中的数据预处理-归一化(mapminmax)与标准化(mapstd)
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 【机器学习】【数据预处理】数据的规范化,归一化,标准化,正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化