我想在我的第一个文件(F1)上拟合逻辑回归模型,然后进行测试 在另一个名为F2的文件上(另一年的相同练习)。 F1上的代码:
sc = preprocessing.StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
logistic = LogisticRegression(random_state =0,max_iter = 300 ,penalty = 'l2')
model = logistic.fit(X,y)
ScaledObj = X_train
我该如何使用测试文件中的缩放数据 我这样做了,但是我不知道如何在测试中使用 ScaledObj 我的文件测试(F2)上的代码
F2 = pd.read_csv("F2.csv", sep =',')
y_test = F2['y']
X_test = F2.copy()
del X_test['y']
y_pred = model.predict(X_test)
proba= model.predict_proba(X_test)[:, 1]
Auc_Test = metrics.roc_auc_score(y_test, proba)
答案 0 :(得分:0)
对于机器学习项目中的最佳实践,典型的工作流程如下:
fit
缩放器,将训练数据与测试数据分开transform
训练数据(您已经在fit_transform
步骤中完成了此操作)transform
使用已经安装的缩放器*测试数据。这样可以防止训练和测试数据之间出现任何data leakage transform
进行任何其他验证或生产数据。 *-请注意,缩放器仅位于内存中,因此,如果要在其他脚本中使用它,则可以使用pickle
或joblib
之类的东西来保存对象供以后使用>
您已经在上面的代码中正确完成了步骤1-3,并且可以以相同的方式执行步骤4。不过,我建议您不要覆盖您的变量,因为这在以后阅读代码时会造成混淆。
F2 = pd.read_csv("F2.csv", sep =',')
y_test1 = F2['y']
X_test1 = F2.copy()
del X_test1['y']
#add this line, same as you did before
X_test1 = sc.transform(X_test1)
y_pred = model.predict(X_test1)