

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 1. 執行 EDA 並開發初始模型
<a name="step1"></a>

 在此步驟中，資料科學家會執行探索性資料分析 (EDA)，以了解 ML 使用案例和資料。然後，他們開發 ML 模型 （例如分類和迴歸模型），以解決特定使用案例中的問題。在模型開發期間，資料科學家通常會對輸入和輸出做出假設，例如資料格式、資料生命週期和中繼輸出的位置。這些假設應該記錄下來，以便在步驟 2 的單位測試期間用於驗證。

 雖然此步驟著重於模型開發，但資料科學家通常必須撰寫最少量的協助程式程式碼，以進行預先處理、訓練、評估和推論。資料科學家應該能夠在開發環境中執行此程式碼。我們也建議提供選用的執行期引數，以便此協助程式程式碼可以動態設定為在其他環境中執行，而無需大量的手動變更。這將加速步驟 2 和 3 中模型與管道之間的整合。例如，讀取原始資料的程式碼應封裝在 函數中，以便能夠以一致的方式預先處理資料。

 我們建議您從 [scikit-learn](https://scikit-learn.org/)、[XGBoost](https://xgboost.ai/)、[PyTorch](https://pytorch.org/)、[Keras](https://keras.io/) 或 [TensorFlow](https://www.tensorflow.org/) 等架構開始，以開發 ML 模型及其協助程式程式碼。例如，scikit-learn 是以 Python 撰寫的免費 ML 程式庫。它為物件提供統一的 API 慣例，並包含四個主要物件：*估算器*、*預測器*、*轉換器*和*模型*，涵蓋輕量型資料轉換、支援標籤和特徵工程，以及封裝預先處理和建模步驟。這些物件有助於避免樣板程式碼擴散，並防止驗證和測試資料洩漏到訓練資料集。同樣地，每個 ML 架構都有自己的關鍵 ML 成品實作，我們建議您在開發 ML 模型時遵守所選架構的 API 慣例。