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