特征预处理:标准化

特征预处理,标准化。由于归一化无法平衡异常值对模型预测结果的影响,标准化运用平均值、标准差控制特征的数值范围,平衡各特征值在模型中的权重。

from sklearn.preprocessing import StandardScaler

'''
特征预处理,标准化。解决归一化可能出现异常值的情况,比如年纪,出现200岁,这时归一化通过最大值、最小值算出来的结果相对不准确。
标准化通过平均值、标准差合理控制特征值的数值大小。
计算公式:特征值x减特征平均值,差除以特征标准差,得到商
'''

# 1、准备数据,以样本1行的形式传入,有4个特征
x = [[90,2,10,40],[60,4,15,45],[75,3,13,46]]

# 2、创建标准化实例
process = StandardScaler()

# 3、传入样本特征x,标准化计算后返回特征值
data = process.fit_transform(x)

# 4、输出特征值
print(data)

print()
print('--------------------')

print('均值:', process.mean_)
print('方差:', process.var_)

# 结果返回
'''
[[ 1.22474487 -1.22474487 -1.29777137 -1.3970014 ]
 [-1.22474487  1.22474487  1.13554995  0.50800051]
 [ 0.          0.          0.16222142  0.88900089]]
'''