sklearn机器学习包中的对原始数据的预处理及训练集、测试集的分割
一 、数据预处理
sklearn.preprocessing 包提供了几个常见的实用功能和变换器类型,用来将原始特征向量更改为更适合机器学习模型的形式。
1. 标准化
按照数据集各特征的均值与方差对其进行标准化转换
sklearn.preprocessing.scale(X, axis=0, with_mean=True, with_std=True, copy=True)
axis 可以分别取0 或者 1
from sklearn import preprocessing
import numpy as np
X_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
X_scaled = preprocessing.scale(X_train)
X_scaled
array([[ 0. , -1.22474487, 1.33630621],
[ 1.22474487, 0. , -0.26726124],
[-1.22474487, 1.22474487, -1.06904497]])
X_scaled.mean(axis=0)
array([0., 0., 0.])
X_scaled.std(axis=0)
array([1., 1., 1.])
2. 归一化
对各样本的不同特征进行数值处理(即axis=1),消除量纲的影响。
sklearn.preprocessing.normalize(X, norm=‘l2’, axis=1, copy=True, return_norm=False)
norm 可以取’l1’ 、‘l2’、‘max’,axis 可以取0、1
X = [[ 1., -1., 2.],
[ 2., 0., 0.],