【问题标题】:When do items in the Pipeline call fit_transform(), and when do they call transform()? (scikit-learn, Pipeline)Pipeline 中的项目何时调用 fit_transform(),何时调用 transform()? (scikit-learn,管道)
【发布时间】:2014-08-12 04:45:04
【问题描述】:

我正在尝试拟合我使用 Pipeline 组合在一起的模型:

from sklearn import cross_validation
from sklearn.linear_model import LogisticRegression
from sklearn.grid_search import GridSearchCV
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import MinMaxScaler

cross_validation_object = cross_validation.StratifiedKFold(Y, n_folds = 10)
scaler = MinMaxScaler(feature_range = [0,1])
logistic_fit = LogisticRegression()

pipeline_object = Pipeline([('scaler', scaler),('model', logistic_fit)])

tuned_parameters = [{'model__C': [0.01,0.1,1,10],
                    'model__penalty': ['l1','l2']}]

grid_search_object = GridSearchCV(pipeline_object, tuned_parameters, cv = cross_validation_object, scoring = 'accuracy')

grid_search_object.fit(X_train,Y_train) 

我的问题:best_estimator 是否会根据训练数据中的值缩放测试数据?例如,如果我调用:

grid_search_object.best_estimator_.predict(X_test)

它不会尝试在 X_test 数据上拟合缩放器,对吗?它只会使用原始参数对其进行转换。

谢谢!

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    predict 方法从不适合任何数据。在这种情况下,正如您所描述的那样,best_estimator_ 管道将根据它在训练集上学到的扩展进行扩展。

    【讨论】:

    • 感谢您的确认!
    • 如果您能添加任何证明您的主张的来源,那就太好了。
    猜你喜欢
    • 2017-11-29
    • 2018-07-21
    • 2020-11-05
    • 2018-01-27
    • 2015-08-14
    • 2017-06-12
    • 2018-12-29
    • 2014-03-26
    • 2018-02-22
    相关资源
    最近更新 更多