我该如何使用scikit learnMinMaxScaler
来标准化pandas数据帧训练数据集中的每一列,但在我的测试数据集中使用完全相同的标准偏差,最小/最大公式?在
因为我的测试数据对模型来说是未知的,所以我不想标准化整个数据集,对于未来未知的数据,这将不是一个精确的模型。相反,我希望使用训练集将0&1之间的数据标准化,并对测试数据的公式使用相同的std、min和max数字。在
(很明显,我可以编写自己的minmax scaler,但是想知道scikit learn是否已经可以做到这一点,或者是否有一个库可以首先用于此操作)
Tags:
你应该能够
fit
在你的训练数据上,然后transform
你的测试数据:你的做法现在看来是个好做法。如果你对你的整个X矩阵调用
fit
(训练和测试组合),你将导致信息泄漏,因为你的训练数据会事先“看到”测试数据的规模。使用MinMaxScaler()
的基于类的实现是sklearn具体解决这一问题的方法,允许对象“记住”适合它的数据的属性。在但是,请注意,
MinMaxScaler()
并不是扩展到~N(0,1)。事实上,它被明确地称为这种缩放的替代品。换句话说,它不能保证你的单位方差或0均值。事实上,它并不关心传统意义上定义的标准差。在从docstring:
其中}。手动设置为:
^{pr2}$min_
和max_
等于MinMaxScaler()
的feature_range
(默认(0, 1)
)中的{所以假设你有: 将numpy作为np导入 从sklearn.model_选择导入列车测试分割
如果你打电话
要知道^{} 是进行拟合的数据的标准偏差。在
相反,它是:
相关问题 更多 >
编程相关推荐