python - Pipeline 中的项目何时调用 fit_transform(),何时调用 transform()? (scikit-learn、管道)

标签 python scikit-learn

我正在尝试拟合一个使用 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 数据,对吗?它只会使用原始参数对其进行转换。

谢谢!

最佳答案

预测方法永远不适合任何数据。在这种情况下,正如您所描述的那样,best_estimator_ 管道将根据它在训练集上学到的缩放比例进行缩放。

关于python - Pipeline 中的项目何时调用 fit_transform(),何时调用 transform()? (scikit-learn、管道),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248418/

相关文章:

python - sklearn : What is the Benefit of Recursive Feature Elimination With Cross-Validation?

python - 如何下载 aiotp 的早期版本?

Python列表错误,列表索引超出范围

python - 如何将 Django 对象存储为 session 变量(对象不是 JSON 可序列化的)?

python - 因子分析 Scikit

python - Sklearn NN 回归 出勤预测

python - Pandas One 热编码 : Bundling together less frequent categories

python - 使用 AJAX 通过用户输入从数据库中检索记录

python - Wireshark 不显示带有 Python SSL 套接字的 SSL 数据包

python - RandomizedSearchCV 精度分数在随机森林中不匹配