Scikit learn 如何使用ML sklearn管道进行预测?

Scikit learn 如何使用ML sklearn管道进行预测?,scikit-learn,Scikit Learn,我已经使用sklearn和sklearn创建了一个ML管道。看起来像这样 features = ['ColA','ColB','ColC'] labels = 'ColD' mapper = sklearn_pandas.DataFrameMapper([ ('ColB',sklearn.preprocessing.StandardScaler()), ('ColC',sklearn.preprocessing.StandardScaler()) ]) pipe = sklea

我已经使用sklearn和sklearn创建了一个ML管道。看起来像这样

features = ['ColA','ColB','ColC']
labels = 'ColD'

mapper = sklearn_pandas.DataFrameMapper([
    ('ColB',sklearn.preprocessing.StandardScaler()),
    ('ColC',sklearn.preprocessing.StandardScaler())
])
pipe = sklearn.pipeline.Pipeline([
        ('featurize',mapper),
        ('imputer',imputer),
        ('logreg',sklearn.linear_model.LogisticRegression())
])
cross_val_score = sklearn_pandas.cross_val_score(pipe,traindf[features],traindf[labels],'log_loss')
我喜欢我得到的模型和日志损失值。 我如何使用这个管道来预测我的测试集

当我执行pipe.predict(testX[features])时,我会得到一个错误,上面写着:

'StandardScaler' object has no attribute 'mean_'

我已经检查了我的测试集。看起来不错

您必须首先安装管道,就像安装任何型号/变压器一样:

pipe.fit(traindf[features], traindf[labels])

试着先做
pipe.fit(traindf[功能]、traindf[标签])
。非常感谢。成功了。意识到我的错误。我想,即使pipe给了我验证分数,为了预测,我们需要再次拟合数据,以便预测。我还有一个问题,现在pipe.fit_变换方法的用例是什么