Python: sklearn库——数据预处理
Python: sklearn库 —— 数据预处理 数据集转换之预处理数据: 将输入的数据转化成机器学习算法可以使用的数据。包含特征提取和标准化。 原因:数据集的标准化(服从均值为0方差为1的标准正态分布(高斯分布))是大多数机器学习算法的常见要求。 如果原始数据不服从高斯分布,在预测时表现可能不好。在实践中,我们经常进行标准化(z-score 特征减去均值/标准差)。 一、标准化(Z-Score),或者去除均值和方差缩放 公式为:(X-mean)/std 计算时对每个属性/每列分别进行。 将数据按期属性(按列进行)减去其均值,并处以其方差。得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1。 实现时,有两种不同的方式: 使用sklearn.preprocessing.scale()函数,可以直接将给定数据进行标准化。 >>> from sklearn import preprocessing >>> import numpy as np >>> X = np.array([[ 1., -1., 2 .], ... [ 2 ., 0., 0.], ... [ 0., 1., -1 .]]) >>> X_scaled = preprocessing.scale(X) >>> X_scaled array([[ 0. ..., -1.22..., 1.33 ...],