sklearn 是 python 中一个常用的机器学习与统计分析包,功能十分强大,既能做普通的统计分析,也可以做一些常用的机器学习算法。
在分析数据前,一般要对数据进行预处理,常用的数据预处理函数有:
- scale: 对每列数据进行快速标准化(z 标准化),以均值为0,标准差为1的正态分布对每列数据进行标准化
- MinMaxScaler: 标准化后每一列数据都落在 [0, 1] 之间,或者既定的 [min, max] 之间,调用的计算公式为:
X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
X_scaled = X_std * (max - min) + min
-
StandardScaler: 类似于 Scale,只不过可保存训练集中的均值、方差参数
例如:可以对测试集生成一个 StandardScaler,就有了一个包含均值与方差的标准化的类。这个类可以通过 transform 函数同时标准化训练集与测试集 -
Normalize: 对每一行按p-范数标准化,又称正则化:主要思想是对每个样本计算其 p-范数,然后对该样本中每个元素除以该范数,这样处理的结果是使得每个处理后样本的 p-范数(一般为 l1-norm 或 l2-norm)等于1。