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