微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将数据集缩放到与另一个相同的规模?

如何解决如何将数据集缩放到与另一个相同的规模?

我目前正在缩放我的回归模型的训练数据,以及我最终使用 StandardScaler 分别放入模型进行预测的数据。

这会将预测数据缩放到与训练数据缩放相同的水平还是不同?那么它会因此导致错误的预测吗?

如果是这样,我如何使用与训练集相同的均值等来缩放第二个数据集?我是否必须使用前者的均值和方差手动将公式应用于第二个数据集?

谢谢

解决方法

当您缩放数据时,您应该只缩放到训练数据。否则,您的预测/测试数据的范围会影响训练数据的缩放方式,从而影响您的模型学习的内容。这是数据泄露的一种形式。

在 Python 中,你看起来像这样:

    scaler = StandardScalar() # Create a scalar
    scaler.fit(training_data) # Fit only to training data
    scaled_training_data = scaler.transform(training_data) # What your model learns on
    scaled_test_data = scaler.transform(test_data) # Scale your test data using the same scaling as the training data

(注意:您可以使用 fit_transform() 一步拟合和转换训练数据。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。