亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何只執行 scikit-learn 管道的特定部分?

如何只執行 scikit-learn 管道的特定部分?

白豬掌柜的 2022-12-20 14:59:38
以下是與問題相關的部分代碼。如果需要完整代碼,這里有一個完整的可重現代碼也可以下載數據:https ://github.com/ageron/handson-ml2/blob/master/02_end_to_end_machine_learning_project.ipynb我有一個管道:prepare_select_and_predict_pipeline = Pipeline([    ('preparation', full_pipeline),    ('feature_selection', TopFeatureSelector(feature_importances, k)),    ('svm_reg', SVR(**rnd_search.best_params_))])現在,我只想從上面的管道執行這一部分:('preparation', full_pipeline),('feature_selection', TopFeatureSelector(feature_importances, k)),我試過prepare_select_and_predict_pipeline.fit(housing, housing_labels)了,但它也執行 SVM 部分。最后,我需要從上面的管道中獲得與執行以下代碼相同的結果:preparation_and_feature_selection_pipeline = Pipeline([    ('preparation', full_pipeline),    ('feature_selection', TopFeatureSelector(feature_importances, k))])housing_prepared_top_k_features = preparation_and_feature_selection_pipeline.fit_transform(housing)我該怎么做?
查看完整描述

2 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

您可以將管道切片,就好像它們是列表(版本 >=0.21)一樣,所以

prepare_select_and_predict_pipeline[:-1].fit_transform(housing)

應該管用。

(你在這里需要小心;你正在改裝管道的變壓器部分,所以在一個新的數據集上進行,然后prepare_select_and_predict_pipeline.predict(X_new)將使用改裝的變壓器!clone如果需要,你可以使用一個新變量。)


查看完整回答
反對 回復 2022-12-20
?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

FeatureUnion可以做到這一點:


from sklearn.pipeline import FeatureUnion, Pipeline


prepare_select_pipeline = Pipeline([

    ('preparation', full_pipeline),

    ('feature_selection', TopFeatureSelector(feature_importances, k))

])


feats = FeatureUnion([('prepare_and_select', prepare_select_pipeline)])


prepare_select_and_predict_pipeline = Pipeline([('feats', feats),

                               ('svm_reg', SVR(**rnd_search.best_params_))])

您可以在深入了解 Sklearn 管道中找到有關此的更多信息



查看完整回答
反對 回復 2022-12-20
  • 2 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號