机器学习之无量纲化处理中的归一化和标准化
特征预处理(归一化+标准化)APIsklearn库下的preprocessingsklearn.preprocessing一、归一化归一化的原因:使得各特征单位不再收到单位或本身差异大小的影响,使得各单位具有相等的地位归一化的定义:通过对原始数据进行变化把数据映射到指定的区间中归一化的公式:百度百科归一化APIsklearn.preprocessing.MinMaxScaler(feature_r
·
特征预处理(归一化+标准化)API
sklearn库下的preprocessing
sklearn.preprocessing
一、归一化
- 归一化的原因:使得各特征单位不再收到单位或本身差异大小的影响,使得各单位具有相等的地位
- 归一化的定义:通过对原始数据进行变化把数据映射到指定的区间中
- 归一化的公式:百度百科
- 归一化API
sklearn.preprocessing.MinMaxScaler(feature_range=(0,1),.....)
– MinMaxScaler.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后形状相同的array
- 实例如下(下载测试数据集data.txt) 提取码:8oj5
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
def minmax_demo():
"""
归一化
:return:
"""
# 1、获取数据
data = pd.read_csv("data.txt")
print("data:\n",data)
"在pandas中取出非目标的列,一定要注意这里的操作"
data = data.iloc[:,:3]
# 2、实例化一个转换器
"可以指定到具体区间范围内如本演示就是将范围固定在了2到3"
transfer = MinMaxScaler(feature_range=[2,3])
# 3、调用fit_transform
data_new = transfer.fit_transform(data)
print("data_new:\n",data_new)
return
if __name__ == '__main__':
minmax_demo()
二、标准化(推荐)
- 标准化的原因:将原始数据变换到均值为0,方差为1的范围内
- 标准化的公式:X’ = (x-mean) / DX
- 标准化API
sklearn.preprocessing.StandarScaler()
#处理之后,对每列来说,所有数据都聚集在均值0附近,标准差为1
– StandarScaler.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后形状相同的array
- 实例如下
# 标准化
def stand_demo():
"""
标准化
:return:
"""
# 1、获取数据
data = pd.read_csv("data.txt")
print("data:\n", data)
"在pandas中取出非目标的列,一定要注意这里的操作"
data = data.iloc[:, :3]
# 2、实例化一个转换器
"可以指定到具体区间范围内如本演示就是将范围固定在了2到3"
transfer = MinMaxScaler(feature_range=[2, 3])
# 3、调用fit_transform
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new)
return
if __name__ == '__main__':
stand_demo()
更多推荐



所有评论(0)