我有一个模型,我正在使用两个数据集,Training&测试。我需要在使用scikit-learn构建模型之前规范化预测变量。
让我们说一下我的模型训练数据:
Training[X1] has mean=10,stddev=1.5
Training[X2] has mean=45,stddev=17
etc...
我的测试数据文件
Testing[X1] has mean=9,stddev=1.8
Testing[X2] has mean=40,stddev=13
etc...
如何规范化测试数据文件,使其与原始数据集使用相同的比例?
我尝试使用此代码,但乍一看似乎并不正确:
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaler.fit(X_train)
X_train = scaler.transform(X_train)
X_test = scaler.transform(X_test)
答案 0 :(得分:0)
提供的代码是正确的方法,您在训练期间适应mean / std,之后在测试阶段使用它。火车和测试之间的mu / sigma不同的事实是正常的,你必须处理它。这种情况的唯一原因是数据集太小,只要有足够的数据点,这两个值就会收敛(假设数据被正确收集)。