归一化
1.定义
通过对原始数据进行变换把数据映射到(默认为[0,1]之间)
2.公式
具体理解
对于特征1来说,min=60,max=90。右表格只显示了第一步,还需要第二步乘以(1-0)再加上0
3.代码
import pandas as pd
from sklearn.preprocessing import MinMaxScaler,StandardScaler
data=pd.read_csv('E:\学习\iris.csv')
#获取前三列
data=data.iloc[:,:3]
#实例化一个转换器类
#归一化处理
transfer=MinMaxScaler()#默认范围为[0,1] 可自定义
# transfer=MinMaxScaler(feature_range=(1,3))#默认范围为[0,1] 可自定义
#调用fit_transform
data_new=transfer.fit_transform(data)
print(data)
print(data_new)
若数据存在异常值,一旦最大值或者最小值是异常值的话,结果会有较大的误差,故鲁棒性较差,只适用于传统精确小数据场景。采用标准化进行改进
标准化
1.定义
通过对原始数据进行变换,把数据变换到均值为0,标准差为1的范围内
2.公式
3.代码
import pandas as pd
from sklearn.preprocessing import MinMaxScaler,StandardScaler
data=pd.read_csv('E:\学习\iris.csv')
#获取前三列
data=data.iloc[:,:3]
#实例化一个转换器类
# #标准化处理
transfer=StandardScaler()#默认范围为[0,1] 可自定义
#调用fit_transform
data_new=transfer.fit_transform(data)
print(data)
print(data_new)
&对于归一化来说:如果出现了异常点,影响了最大最小值,那么结果显然会发生改变
&对于标准化来说:如果出现了异常,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小