ML.NET CLI 會將 .NET 開發人員的模型產生自動化。
若要單獨使用 ML.NET API(不使用 ML.NET AutoML CLI),您需要選擇一個訓練器(針對特定工作之機器學習演算法的實作),以及套用至您的數據的數據轉換集(特徵工程)。 最佳管線會因每個數據集而有所不同,並從所有選項中選取最佳演算法會增加複雜性。 更進一步,每個演算法都有一組要微調的超參數。 因此,您可以花數周和有時數月的時間進行機器學習模型優化,以嘗試尋找特徵工程、學習演算法和超參數的最佳組合。
ML.NET CLI 會使用自動化機器學習 (AutoML) 簡化此程式。
備註
本文指的是目前處於預覽狀態 ML.NET CLI 和 ML.NET AutoML,且內容可能會變更。
什麼是 ML.NET 命令行介面 (CLI)?
ML.NET CLI 是 .NET 工具。 安裝之後,您會為它提供機器學習工作和定型數據集,併產生 ML.NET 模型,以及要執行以在應用程式中使用模型的 C# 程式代碼。
如下圖所示,產生高品質的 ML.NET 模型(串行化模型 .zip 檔案)加上範例 C# 程式代碼來執行/評分該模型很簡單。 此外,也會產生建立/定型該模型的 C# 程序代碼,以便您研究並反覆運算用於產生「最佳模型」的演算法和設定。
您可以從自己的數據集產生這些資產,而不自行撰寫程式代碼,因此即使您已經知道 ML.NET,也能提升您的生產力。
目前,ML.NET CLI 支援的 ML 工作如下:
- 分類
- 迴歸
- 建議
- 影像分類
- 預測
- 火車
您可以使用下列命令,根據您的作系統及其架構來安裝 ML.NET CLI:
dotnet tool install --global mlnet-<OS>-<ARCH>
例如,可以使用以下方法安裝 x64 版的 Windows:
dotnet tool install --global mlnet-win-x64
如需詳細資訊,請參閱 安裝 ML.NET CLI 作指南。
使用方式範例(分類案例):
mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10
還有一個命令可以使用 mbconfig 檔案進行訓練。 當您啟動模型產生器會話時,會建立 mbconfig 檔案。
您可以在 Windows PowerShell、 macOS/Linux bash 或 Windows CMD 上以相同方式執行它。 不過,表格式自動完成(參數建議)無法在 Windows CMD 上運作。
產生的輸出資產
CLI 中的 ML 工作命令會在輸出資料夾中產生下列資產:
- 使用 C# 解決方案:
- 用來執行/評分所產生模型的控制台應用程式(以使用該模型在使用者應用程式中進行預測)。
- 具有訓練程式碼的控制台應用程式,用來產生該模型(用於學習目的或模型重訓)。
- 這個串行化模型(「最佳模型」)也提供為壓縮 的.zip 檔案,可供執行預測使用。
- mbconfig 檔案,其中包含可讓您在模型產生器中開啟模型的組態數據。
- 記錄檔,記錄了各個評估演算法的所有迭代/掃掠,包括其詳細配置/流程。
前兩個資產可以直接用於使用者應用程式中(例如,ASP.NET Core Web 應用程式、服務和傳統型應用程式),以使用該產生的 ML 模型進行預測。
第三個資產是定型過程代碼,顯示 CLI 用哪些 ML.NET API 程式代碼來訓練產生的模型,讓您能夠重新訓練模型,以及調查 CLI 和 AutoML 在底層所選取的特定訓練器/演算法和超參數。
瞭解模型的品質
當您使用 CLI 工具產生「最佳模型」時,您會看到適合您目標的 ML 工作的質量計量(例如精確度和 R 平方)。
以下是由 ML 工作分組的計量摘要,因此您可以了解自動產生的「最佳模型」的品質。
分類模型的計量
下圖顯示 CLI 找到的前五個模型的分類計量清單:
精確度是分類問題的常用計量,但精確度不一定是從中選取最佳模型的最佳計量,如下列參考中所述。 在某些情況下,您需要使用其他計量來評估模型的品質。
若要探索並瞭解 CLI 所輸出的計量,請參閱 分類的評估計量。
回歸與建議模型的計量
如果觀察值與模型的預測值之間的差異很小且無偏,回歸模型就適合該數據。 您可以使用特定計量來評估回歸。
您會看到 CLI 找到的前五個品質模型類似的計量清單,但在此情況下,前五名與回歸 ML 工作相關:
若要探索並瞭解 CLI 所輸出的計量,請參閱 回歸評估計量。
另請參閱
- 如何安裝 ML.NET CLI 工具
- 教學課程:使用 ML.NET CLI 分析情感
- ML.NET CLI 命令參考
- ML.NET CLI 中的 遙測