選擇您的案例並準備資料

已完成

在此單元中,您將了解如何在 Model Builder 中選擇案例、選取定型環境,以及準備資料以進行定型。

開始定型程序

若要開始定型程序,您必須將新的機器學習 Model (ML.NET) 項目新增至新的或現有的 .NET 應用程式。

提示

可攜性是類別庫提供的優點之一。 類別庫可讓您輕鬆地從主控台、桌面、Web 和其他類型的 .NET 應用程式參考其所屬的任何模型。 建議您將機器學習模型 (ML.NET) 項目新增至類別庫。

機器學習模型 (ML.NET) 項目會將副檔名為 .mbconfig 的檔案新增至您的專案。 使用 .mbconfig 副檔名的檔案是以 JSON 撰寫的 Model Builder 組態檔。 這些檔案可讓您:

  • 為您的模型提供名稱。
  • 透過原始檔控制與小組的其他成員共同作業。
  • 保存狀態。 如果您在定型程序中的任何時間點需要關閉 Model Builder,您的狀態會儲存下來,且您將可從退出之處繼續操作。

選取情節

定型機器學習模型的第一個步驟,是根據您要預測的項目決定哪個案例和機器學習工作最為適合。

什麼是情節?

案例可描述您嘗試使用資料來解決的問題。 常見案例包括上一個單元中所列的案例:

  • 將資料分類:依主題編排新聞文章。
  • 預測數值:估計房屋價格。
  • 將具有類似特性的項目分組:區隔客戶。
  • 將影像分類:根據影像內容為影像加上標籤。
  • 建議項目:推薦電影。
  • 偵測影像中的物件:偵測十字路口的行人和自行車。

這些案例會對應至機器學習工作。 機器學習工作是根據提出的問題和可用的資料進行的一種預測或推斷。

機器學習工作通常分為兩個類別:

  • 監督式
  • 未監督式

兩者的主要差異在於,您嘗試預測的標籤或值是否已知。

就受監督的工作而言,標籤是已知的。 受監督的機器學習工作範例包括:

  • 分類
    • 二元 (兩個類別)
    • 多類別 (兩個或更多類別)
    • 映像
  • 迴歸

就非監督式工作而言,標籤是未知的。 非監督式機器學習工作的範例包括:

  • 叢集
  • 異常偵測

Model Builder 中支援的案例

Model Builder 支援下列對應至機器學習工作的案例:

案例 機器學習工作 使用案例
資料分類 二元和多類別分類 依主題編排文章。
預測值 線性迴歸 根據房屋的特徵預測房價。
影像分類 影像分類 (深度學習) 根據影像的內容,依動物種類編排影像。
建議 建議 根據類似使用者的喜好推薦電影。
物件偵測 物件偵測 (深度學習) 識別影像中的實體損毀。

選擇預測性維護的案例

根據資料的外觀,預測性維護問題可透過不同的工作來模型化。 針對您的使用案例,由於標籤是用來描述機器是否受損的二進位值 (0 或 1),因此適用資料分類案例。

選擇您的環境

現在您已選取資料分類,接下來即可選擇您要在其中定型機器學習模型的環境。 環境可描述您將用來定型機器學習模型的計算資源。

Model Builder 中支援的環境

Model Builder 支援下列環境選項:

案例 本機 CPU 本機 GPU Azure GPU
資料分類 ✔️
預測值 ✔️
影像分類 ✔️ ✔️ ✔️
建議 ✔️
物件偵測 ✔️

根據您的使用案例,您可能基於多種不同的原因選擇本機或 Azure 環境。

本機環境

您可能會考量本機計算環境的原因包括:

  • 在本機定型不會產生任何費用,因為您使用的是電腦的資源。
  • 您不想讓資料離開電腦或資料中心。

Azure 環境

影像分類和物件偵測之類的案例需耗用大量資源。 使用 GPU 通常可加速定型程序。 如果您沒有 GPU,或電腦沒有足夠的 CPU 或 RAM,可將定型程序卸載至 Azure,以減輕系統的負載。

載入並準備您的資料

選取您的案例和定型環境後,即可載入並準備您的資料。

在建置機器學習模型時,資料是最重要的元件。 將資料載入至 Model Builder 的程序包含三個步驟:

  1. 選擇資料來源類型。
  2. 提供資料的位置。
  3. 選擇資料行的用途。

選擇資料來源類型

根據您的案例,Model Builder 支援從下列來源載入資料:

  • 分隔的檔案 (逗號、分號和定位符號)
  • 本機和遠端 SQL Server 資料庫
  • 影像 (.jpg.png)

提供資料的位置

選取資料來源類型後,您必須提供資料集的儲存位置。 這個位置可以是目錄、檔案路徑或資料庫連接字串。 這取決於您已選取的案例和資料來源類型。

在 Model Builder 中選取資料來源後,它將會剖析資料,並盡可能進行識別:

  • 標頭和資料行的名稱
  • 資料行分隔符號
  • 資料行資料類型
  • 資料行用途
  • 小數分隔符號

載入資料之後,Model Builder 會顯示資料集中某些元素的預覽。

選擇資料行用途

根據您選擇的案例,您必須定義特定資料行的用途。 在資料分類和值預測之類的案例中,您必須選擇哪些資料行是您要預測 (標籤) 的資料行。

根據預設,所有不是標籤的其他資料行都會用作特徵。 特徵是作為輸入用以預測標籤的資料行。

進階資料選項

若要自訂載入資料的方式,可使用 Model Builder 提供的進階資料選項。 這些選項可讓您自訂與資料行和資料集格式相關的設定。

對於資料行,您可以選擇下列設定:

  • 用途:資料行應為特徵、標籤,還是應加以忽略? 您只能選取一個資料行作為標籤。
  • 資料類型:值為單精確度浮點數、字串還是布林值?
  • 類別:資料行是否代表類別值 (例如:低、中或高)?

若要將資料格式化,您可以選擇資料是否包含資料行標頭、資料行分隔符號 (逗號、分號或定位符號),以及小數分隔符號類型 (句號或逗號)。

了解預測性維護資料集

此課程模組中使用的資料集是 AI4I 2020 預測性維護資料集。 此綜合資料集反映了產業中實際產生的預測性維護資料。 其中包含 10,000 個資料點和 14 個資料行。 其來源為:

Explainable Artificial Intelligence for Predictive Maintenance Applications, Stephan Matzka, Third International Conference on Artificial Intelligence for Industries (AI4I 2020), 2020 (出版中),裝載於 UCI 機器學習存放庫 - Dua, D. 和 Graff, C. (2019)。 UCI Machine Learning 存放庫 http://archive.ics.uci.edu/ml。 Irvine, CA:University of California, School of Information and Computer Science.

以下是資料的預覽:

UDI 產品識別碼 類型 空氣溫度 [K] 處理溫度 [K] 旋轉速度 [rpm] 扭力 [Nm] 工具磨損 [min] 機器故障 TWF HDF PWF OSF RNF
1 M14860 298.1 308.6 1551 42.8 0 0 0 0 0 0 0
162 L47341 L 298.3 308.1 1412 52.3 218 1 0 0 0 1 0

資料行定義如下:

  • UDI:資料列的索引。
  • 產品識別碼:包含產品類型類別和變體專用序號的產品識別碼。
  • 類型:產品品質類別。 值為 L (低;所有產品的 50%),M (中;30%) 或 H (高;20%)。
  • 空氣溫度 [K]處理溫度 [K]旋轉速度 [rpm]扭力 [Nm]工具磨損 [min]:從感應器收集的值。
  • 機器故障:指出機器已故障的二進位標籤 (0 或 1)。
  • TWFHDFPWFOSFRNF:獨立的機器故障模式。 值為 1 表示發生個別的故障模式。

在此案例中,您不會使用資料集中的所有資料行,因為這些資料行並未提供預測資訊或包含備援資訊。

您想要能夠預測機器是否會故障,因此以 [機器故障] 資料行作為標籤。 在 Model Builder 中,針對特徵,您可以使用 [產品識別碼]、[類型] 和各種感應器資料行中的資料。

雖然故障模式在診斷故障的根本原因時很有用,但在您的使用案例中並不適用。 其原因是,您只想要知道機器是否故障而已。 此外,[機器故障] 資料行已擷取類似的資訊。 因此,您可以忽略這些資料行。

繼續進行下一個單元,確認您對於案例、環境和資料準備的了解程度。