sklearn.preprocessing.normalize如何对数据进行归一化,我是否可以在具有均值和标准差的新数据上进行复制?

时间:2019-06-25 16:54:58

标签: python pandas machine-learning scikit-learn data-science

我正在研究数据科学问题,并且我使用了sklearn的预处理规范化功能来规范我的数据集。现在,一旦保存了模型,我想知道如何将这些转换应用于新的数据点,以便将其输入模型并进行预测。

我保存的是

finalmodel.pkl
finalmodel.sav
statistics.csv

统计表具有每列的平均值和标准偏差。归一化是将平均值减去平均值后再除以标准差吗?还是sklearn采用其他策略?

1 个答案:

答案 0 :(得分:0)

与您使用的规范化系统无关,sklearn.preprocessing.normalize还提供了参数 return_norm ,您可以将其设置为True并存储供以后使用的规范

下面是使用L2(又称Taxicab distance)的示例:

from sklearn.preprocessing import normalize
import numpy as np

x = np.array([[3, 4], [5, 6]])
values, norms = normalize(x, norm='l1', return_norm=True)

您现在会注意到:

values

Out[18]: array([[0.42857143, 0.57142857],
               [0.45454545, 0.54545455]])

norms

Out[19]: array([ 7., 11.])

现在,就像检查一样,将一个数组项除以相应的列规范:

3/7

Out[20]:  0.42857142857142855