道歉,如果这是显而易见的,但我找不到明确的答案:
说我使用了一个非常典型的管道:
feat_sel = RandomizedLogisticRegression()
clf = RandomForestClassifier()
pl = Pipeline([ ('preprocessing', preprocessing.StandardScaler()),
('feature_selection', feat_sel),
('classification', clf)])
pl.fit(X,y)
现在,当我在新的套装上使用pl时,
pl.predict(X_classify);
是要重新应用RandomizedLogisticRegression还是在培训中选择的列将用于新数据?如果没有,管道是否有办法区分特征选择器和应该应用于新输入的特征提取器/缩放器/其他变换?直到我确定,我正在跳过管道功能,只是手动完成每个步骤并保持状态。
谢谢!
答案 0 :(得分:0)
如果您致电transform
,管道会在预处理和功能选择步骤上调用pl.predict
。
这意味着在训练中选择的特征将从测试数据中选择(这里唯一有意义的东西)。
目前还不清楚你的意思是"申请"这里。在致电"预测"时,将不会学到任何新内容,但所有步骤都将与" transform"一起使用。