練習:將機器學習模型定型

已完成

您已從狀況良好和失敗的製造裝置收集到感應器資料。 您現在想要使用 Model Builder 來定型機器學習模型,預測機器故障與否。 使用機器學習來自動化監視這些裝置,即可藉由提供更及時且可靠的維修來節省公司成本。

新增機器學習模型 (ML.NET) 項目

若要開始定型流程,您需要將新的「機器學習模型」(ML.NET) 項目新增至新的或現有的 .NET 應用程式。

建立 C# 類別庫

因為您是從頭開始,所以請建立新的 C# 類別庫專案,而您將在其中新增機器學習模型。

  1. 啟動 Visual Studio。

  2. 在開始視窗中,選取 [建立新專案]

  3. 在 [建立新專案] 對話方塊中,於搜尋列上輸入類別庫

  4. 從選項清單中,選取 [類別庫]。 確定語言為 C#,然後選取 [下一步]

    此螢幕擷取畫面顯示建立類別庫專案的選取項目。

  5. 在 [專案名稱] 文字方塊中,輸入 PredictiveMaintenance。 保留所有其他欄位的預設值,然後選取 [下一步]

  6. 從 [架構] 下拉式清單中,選取 [.NET 6.0 (預覽)],然後選取 [建立] 以建構 C# 類別庫。

將機器學習新增至您的專案

在 Visual Studio 中開啟類別庫專案之後,即可在其中新增機器學習。

  1. 在 Visual Studio 方案總管中,以滑鼠右鍵按一下您的專案。

  2. 選取 [新增] > [機器學習模型]

    螢幕擷取畫面顯示將機器學習模型新增至專案的選取項目。

  3. 從 [新增項目] 對話方塊的新項目清單中,選取 [機器學習模型 (ML.NET)]

  4. 在 [名稱] 文字方塊中,針對您的模型使用名稱 PredictiveMaintenanceModel.mbconfig,然後選取 [新增]

    此螢幕擷取畫面顯示建立模型的選取項目。

幾秒鐘之後,就會將稱為 PredictiveMaintenanceModel.mbconfig 的檔案新增至您的專案。

選擇您的情節

第一次將機器學習模型新增至專案時,會開啟 [Model Builder] 畫面。 現在是時候選取您的情節。

針對您的使用案例,您正在嘗試判斷機器是否故障。 因為只有兩個選項,而且您想要判斷機器所處的狀態,所以資料分類情節最為適當。

在 [Model Builder] 畫面的 [情節] 步驟中,選取 [資料分類] 情節。 選取此案例之後,就會立即前進到 [環境] 步驟。

此螢幕擷取畫面顯示選擇資料分類情節的選取項目。

選擇您的環境

針對資料分類情節,僅支援可使用您 CPU 的本機環境。

  1. 在 [Model Builder] 畫面的 [環境] 步驟中,預設會選取 [本機 (CPU)]。 將預設環境保持已選取狀態。
  2. 選取 [下一步]

此螢幕擷取畫面顯示選擇本機計算定型環境的選取項目。

載入並準備您的資料

既然您已選取您的案例和定型環境,就可以使用 Model Builder 來載入並準備您所收集的資料。

準備您的資料

  1. 在您選擇的文字編輯器中開啟檔案。

  2. 原始資料行名稱會包含特殊括弧字元。 若要防止資料剖析問題,請移除資料行名稱中的特殊字元。

    原始標頭:

    UDI,Product ID,Type,Air temperature [K],Process temperature [K],Rotational speed [rpm],Torque [Nm],Tool wear [min],Machine failure,TWF,HDF,PWF,OSF,RNF

    更新的標頭:

    UDI,Product ID,Type,Air temperature,Process temperature,Rotational speed,Torque,Tool wear,Machine failure,TWF,HDF,PWF,OSF,RNF

  3. 儲存您變更的 ai4i2020.csv 檔案。

選擇資料來源類型

預測性維護資料集是 CSV 檔案。

在 [Model Builder] 畫面的 [資料] 步驟中,針對 [資料來源類型] 選取 [檔案 (csv、tsv、txt)]

提供資料的位置

選取 [瀏覽] 按鈕,然後使用檔案總管來提供 ai4i2020.csv 資料集的位置。

選擇標籤資料行

從 [要預測的資料行 (標籤)] 下拉式清單中,選擇 [機器故障]

此螢幕擷取畫面顯示載入預測性維護 CSV 檔案資料集。

選擇進階資料選項

所有不是標籤的資料行預設都會當作特徵。 某些資料行包含備援資訊,其他資料行則不會通知預測。 使用進階資料選項來忽略這些資料行。

  1. 選取 [進階資料選項]

  2. 在 [進階資料選項] 對話方塊中,選取 [資料行設定] 索引標籤。

    螢幕擷取畫面顯示為預測性維護資料集設定進階資料選項。

  3. 請如下設定資料行設定:

    資料行 目的 資料類型 類別
    UDI 忽略 Single
    產品識別碼 功能 String
    類型 功能 String X
    氣溫 功能 Single
    處理溫度 功能 Single
    旋轉速度 功能 Single
    扭力 功能 Single
    工具磨損 功能 Single
    機器故障 標籤 Single X
    TWF 忽略 Single X
    HDF 忽略 Single X
    PWF 忽略 Single X
    OSF 忽略 Single X
    RNF 忽略 Single X
  4. 選取 [儲存]。

  5. 在 [Model Builder] 畫面的 [資料] 步驟中,選取 [下一步]

定型您的模型

使用 Model Builder 和 AutoML 來定型您的模型。

設定定型時間

Model Builder 會自動根據檔案大小,設定您應該定型的時間長度。 在此情況下,為了協助 Model Builder 探索更多模型,請提供較多的定型時間。

  1. 在 [Model Builder] 畫面的 [定型] 步驟中,將 [要定型的時間 (秒)] 設定為 [30]
  2. 選取定型

追蹤定型流程

螢幕擷取畫面顯示追蹤定型預測性維護分類模型的位置。

定型流程開始之後,Model Builder 會探索各種模型。 您的定型流程是在定型結果和 Visual Studio 輸出視窗中進行追蹤。 定型結果提供在整個定型流程中所找到最佳模型的相關資訊。 輸出視窗提供詳細資訊,例如所使用演算法的名稱、定型所花費的時間,以及該模型的效能計量。

您可能會看到相同的演算法名稱出現多次。 發生此情況的原因是除了嘗試不同的演算法之外,Model Builder 也會嘗試針對這些演算法使用不同的超參數設定。

評估您的模型

使用評估計量和資料來測試模型的效能。

檢查您的模型

[Model Builder] 畫面上的 [評估] 步驟可讓您檢查針對最佳模型所選擇的評估計量和演算法。 請記住,您的結果與本課程模組中所提及的結果可以不同,因為所選擇的演算法和超參數可能不同。

測試您的模型

在 [評估] 步驟的 [嘗試您的模型] 區段中,您可以提供新資料,並評估預測的結果。

此螢幕擷取畫面顯示使用定型模型進行預測。

[範例資料] 區段可讓您為模型提供輸入資料以進行預測。 每個欄位都會對應至用來定型模型的資料行。 這是確認模型如預期般運作的便利方式。 Model Builder 預設會預先填入資料集第一個資料列的範例資料。

請測試您的模型,以查看其是否產生預期的結果。

  1. 在 [範例資料] 區段中,輸入下列資料。 其來自資料集中 UID 為 161 的資料列。

    資料行
    產品識別碼 L47340
    類型 L
    氣溫 298.4
    處理溫度 308.2
    旋轉速度 1282
    扭力 60.7
    工具磨損 216
  2. 選取 [預測]。

評估預測結果

[結果] 區段會顯示模型所做的預測,以及該預測的信賴度等級。

如果您在資料集中查看 UID 為 161 的 [機器故障] 資料行,則會注意到此值為 1。 這與 [結果] 區段中信賴度最高的預測值相同。

如果您想要,則可以繼續使用不同的輸入值來試用模型,以及評估預測。

恭喜! 您已將模型定型,以預測機器故障。 在下一個單元中,您將了解模型耗用量。