取消
顯示的結果
而不是尋找
你的意思是:

ColumnTransformer sklearn管道從Mlflow加載後不安裝

納斯雷丁
新的因素

我構建一個機器學習模型使用sklearn管道包括ColumnTransformer作為預處理器在實際模型。下麵是代碼管道是如何創建的。

變形金剛= []num_pipe =管道(步驟=[(“輸入”,SimpleImputer(策略=“中值”)),(“標量”,StandardScaler())))變壓器。追加((“數值”,num_pipe num_cols)) cat_pipe =管道(步驟=[(“輸入”,SimpleImputer(策略= ' most_frequent ')),(鹹寧,OneHotEncoder (handle_unknown =“忽略”))))變壓器。追加((“分類”,cat_pipe cat_cols))預處理= ColumnTransformer(變壓器、剩餘=“透傳”)模型=管道(((“預科”,預處理器),(clf, XGBClassifier ())))

我用Mlflow記錄模型工件sklearn模型在擬合訓練數據。

model.fit(X, y) mlflow.sklearn.log_model(model, model_uri)

當我試圖加載模型從mlflow得分,我得到了錯誤”這個ColumnTransformer實例還沒有安裝。稱之為“適應”以適當的參數之前使用這個估計量。”

run_model = mlflow.sklearn.load_model (model_uri) run_model.predict (X_pred)

我也跑check_is_fitted第二步的管道xgboost模型本身從mlflow加載後,它也是不合適的。

Mlflow不兼容sklearn管道與多個步驟?

1接受解決方案

接受的解決方案

KTheJoker
貢獻者三世

直接回答你的問題:是的,MLFlow兼容sklearn管道,我們自己的AutoML玻璃牆發生器使用幾乎相同的管道xgboost培訓。

我附上了樣品的筆記本,我能夠運行的端到端來訓練你的確切的管道。收入數據集、日誌MLFlow,從MLFlow加載它,並使用它來預測價值。我還包括一些調用check_is_fitted看到

  • 這不是安裝直到你運行model.fit
  • 然後一切管道安裝
  • 的。記錄模型擬合

希望這可以幫助指導,讓我知道如果你有任何其他問題或問題。

在原帖子查看解決方案

2回答2

Kaniz
社區經理
社區經理

你好@納斯雷丁!我的名字叫Kaniz,我這裏的技術主持人。很高興認識你,謝謝你的問題!看看你的同行在社區中有一個回答你的問題。否則我將盡快給你回電。謝謝。

KTheJoker
貢獻者三世

直接回答你的問題:是的,MLFlow兼容sklearn管道,我們自己的AutoML玻璃牆發生器使用幾乎相同的管道xgboost培訓。

我附上了樣品的筆記本,我能夠運行的端到端來訓練你的確切的管道。收入數據集、日誌MLFlow,從MLFlow加載它,並使用它來預測價值。我還包括一些調用check_is_fitted看到

  • 這不是安裝直到你運行model.fit
  • 然後一切管道安裝
  • 的。記錄模型擬合

希望這可以幫助指導,讓我知道如果你有任何其他問題或問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map