首页 > 解决方案 > 如何正确缩放新数据点 sklearn

问题描述

想象一个简单的回归问题,您正在使用梯度下降。为了正确实施,您需要使用整个训练数据集的平均值来缩放值。想象一下,您的模型已经经过训练,并且您向它提供了另一个您希望预测的示例。您如何根据以前的数据集正确缩放它?您是否在训练集中包含新示例,然后使用此训练数据集 + 新数据点的平均值对其进行缩放?这应该如何以正确的方式完成?

通过提及新数据点,我的意思是模型以前从未见过的东西,无论是在训练还是测试中。如果训练集的缩放是针对整个集合而不是单个观察完成的,那么您如何处理传递给 regr.predict() 的任何内容的缩放。

想象一下你有 ndarray 的特性:

to_predict = [10, 12, 1, 330, 1311, 225].

对于每个特征,用于训练和测试的数据集已经在 0 附近振荡。考虑到以下答案(伪代码,这就是我问如何正确执行此操作的原因):

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()

new_Xs = X_train.append(to_predict)

X_train_std_with_new = scalar.fit_transform(new_Xs)

scaled_to_predit = X_train_std_with_new[-1]

regr.predict(scaled_to_predict) ??

标签: scikit-learnregressionscaling

解决方案


推荐阅读