ML.NET 教學課程 - 10 分鐘入門

定型您的模型

現在,您將使用 yelp_labelled.txt 資料集來定型您的模型。

Model Builder 會依據指定用於建立最佳執行模型的訓練時間量,評估具有不同演算法和設定的許多模型。

  1. 請將定型時間 (這是您想要 Model Builder 探索各種模型的時間) 變更至 60 秒 (如果在定型後找不到任何模型,您可以嘗試增加這個數值)。請注意,如果是較大的資料集,定型時間會較長。Model Builder 會根據資料集大小自動調整定型時間。

  2. 您可以更新 [進階] 定型選項中所使用的最佳化計量和演算法,但在此範例中不需要這麼做。

  3. 選取 [定型] 開始定型程序。定型開始之後,您可以看見剩餘的時間。

  4. Model Builder 定型

定型結果

訓練完成之後,您就可以看到訓練結果的摘要。

Model Builder 定型完成

  • 最佳宏觀正確性 - 這會向您顯示 Model Builder 所發現之最佳模型的正確性。正確性越高即表示模型對測試資料的預測越正確。
  • 最佳模型 - 這會顯示在 Model Builder 探索期間執行最佳的演算法。
  • [定型時間] - 這會向您顯示定型/探索模型所花費的總時間。
  • 模型探索 (總計) - 這會顯示 ML.NET Model Builder 在給定時間內探索的模型總數。
  • 產生的程式碼後置 - 這會顯示為協助取用模型或定型新模型而產生的檔案名稱。

如有需要,您可以在 [Machine Learning 輸出視窗] 中檢視有關訓練時段的詳細資訊。

模型定型完成後,請移至 [評估] 步驟。

在終端中,執行下列命令 (在您的 myMLApp 資料夾中):

Command prompt
mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --name SentimentModel  --train-time 60

這些命令代表什麼?

mlnet classification 命令使用 AutoML 執行 ML.NET,可在指定的訓練時間數量內探索大量分類模型的反覆項目,並使用多種資料轉換、演算法及演算法選項組合,然後選擇表現最好的執行模型。

  • --dataset: 您已選擇 yelp_labelled.txt 作為資料集 (於內部,CLI 會將一個資料集分割成訓練資料集和測試資料集)。
  • --label-col: 您必須指定要預測的目標資料行 (或標籤)。在此情況下,需要預測第二個資料行的情緒 (以零為基底索引的資料行表示這是資料行 "1")。
  • --has-header: 使用此選項來指定資料集是否有標頭。在此情況下,資料集沒有標頭,因此其為 false
  • --name: 使用此選項可為機器學習模型及相關資產提供名稱。在此情況下,與此機器學習模型關聯的所有資產名稱中皆具有 SentimentModel
  • --train-time: 您也必須指定要 ML.NET CLI 探索不同模型的時間長度。在此情況下為 60 秒 (若訓練後找不到任何模型,您可以嘗試增加此數字)。請注意,若是較大的資料集,您應該設定較長的訓練時間。

進度

當 ML.NET CLI 探索不同的模型時,它會顯示下列資料:

  • 開始定型 - 本節顯示每個模型反覆運算,包括該反覆運算所使用的定型器 (演算法) 和評估計量。
  • 剩餘時間 - 此項目與進度列會指出在定型程序中剩餘的時間 (以秒為單位)。
  • 最佳演算法 - 這會顯示到目前為止執行最佳的演算法。
  • 最佳分數 - 這會顯示目前為止最佳模型的效能。較高的準確度表示模型對於測試資料的預測更正確。

您可以視需要在 CLI 產生的記錄檔案中,檢視有關定型工作階段的詳細資訊。

繼續