機器學習【建模進階指南】(三) - 知乎

https://zhuanlan.zhihu.com/p/110873375dom


在本教程中,你將學習如何使用工做流pipelines來整理建模代碼。學習

工做流pipelines

工做流pipelines是一種簡單的方法,能夠保持數據預處理和建模代碼的結構化。具體來講,工做流pipelines打包了預處理和建模步驟,所以你能夠輕鬆的調用。區塊鏈


許多數據科學家在沒有使用工做流pipelines的狀況下將模型混合在一塊兒,但使用工做流pipelines有一些重要的好處。其中包括:
編碼

  1. 清潔代碼:在預處理的每一個步驟中計算數據可能會變得混亂。使用工做流pipelines,你無需在每一個步驟手動跟蹤你的訓練和驗證數據。
  2. 更少的錯誤:誤用步驟或忘記預處理步驟的機會較少。
  3. 更容易生產:將模型從原型轉換爲可大規模部署的設備可能會很是困難。咱們不會在這裏討論許多相關問題,但工做流pipelines能夠提供幫助。
  4. 更多模型驗證選項:你將在下一個教程中看到一個示例,其中包含交叉驗證。

案例

在這個案例裏,咱們將查看澳大利亞墨爾本的房價數據。spa

下載並上傳3d

點擊這裏 下載 數據集rest

咱們再把csv文件上傳到vitu的數據集空間裏 orm


咱們的模型將使用諸如房間數量和土地面積等信息來預測房價。blog

咱們不會關注數據加載步驟。 相反,你能夠想象您已經擁有X_train,X_valid,y_train和y_valid中的訓練和驗證數據。教程


咱們使用下面的head()方法來查看訓練數據。 請注意,數據包含分類數據和缺乏值的列。 有了工做流pipelines,很容易處理這兩個!

咱們分三步構建完整的工做流pipelines

第1步:定義預處理步驟

與工做流pipelines將預處理和建模步驟捆綁在一塊兒的方式相似,咱們使用ColumnTransformer類將不一樣的預處理步驟捆綁在一塊兒。 代碼以下:

  • 在數值數據列中補缺失值
  • 估算缺失值並將一位有效編碼應用於分類數據。

第2步:定義模型

接下來,咱們使用熟悉的RandomForestRegressor類定義隨機森林模型。

第3步:建立和評估工做流pipelines

最後,咱們使用Pipeline類來定義捆綁預處理和建模步驟的工做流pipelines。 有幾點須要注意:

  1. 經過pipeline,咱們預處理訓練數據並將模型整合到一行代碼中。 (相比之下,若是沒有pipeline,咱們必須在不一樣的步驟中進行補缺失值,一位有效編碼和模型訓練。若是咱們必須處理數值和分類變量,這就變得特別麻煩!)
  2. 經過pipeline,咱們將X_valid中的未處理特徵提供給predict()命令,而且pipeline在生成預測以前自動預處理特徵。 (可是,若是沒有pipeline,咱們必須記住在進行預測以前預處理驗證數據。)

原文連接

Vitu.ai - 數據從不說慌 - 區塊鏈的世界也不例外

相關文章
相關標籤/搜索