教學課程:設計工具 - 定型無程式碼迴歸模型

使用 Azure Machine Learning 設計工具來定型線性迴歸模型,以預測汽車價格。 本教學課程是兩部分系列的第一部分。

本教學課程使用 Azure Machine Learning 設計工具,如需詳細資訊,請參閱什麼是 Azure Machine Learning 設計工具?

在教學課程的第一部分,您將瞭解如何:

  • 建立新管線。
  • 匯入資料。
  • 準備資料。
  • 將機器學習模型定型。
  • 評估機器學習模型。

在教學課程的第二部分,您會將模型部署為即時推斷端點,以根據傳送的技術規格預測任何汽車的價格。

注意

本教學課程完成後,將可作為範例管線。

若要尋找此範例,請移至工作區中的設計工具。 在 [新增管線] 區段中,選取 [範例 1 - 迴歸:汽車價格預測 (基本)]

重要

如果您看不到這份文件中提及的圖形元素,例如工作室或設計工具中的按鈕,可能是您沒有工作區的正確權限層級。 請洽詢您的 Azure 訂用帳戶管理員,以確認您已獲得授與正確的存取層級。 如需詳細資訊,請參閱管理使用者和角色

建立新管線

Azure Machine Learning 管線會將多個機器學習和資料處理步驟組織成單一資源。 管線可讓您在不同的專案和使用者間組織、管理和重複使用複雜的機器學習工作流程。

若要建立 Azure Machine Learning 管線,您必須要有 Azure Machine Learning 工作區。 在本節中,您將了解如何建立這些資源。

建立新的工作區

您需要 Azure Machine Learning 工作區,才能使用設計工具。 工作區是 Azure Machine Learning 的最上層資源,其提供一個集中位置來處理您在 Azure Machine Learning 中建立的所有成品。 如需建立工作區的指示,請參閱建立和管理 Azure Machine Learning 工作區

注意

如果您的工作區使用虛擬網路,您必須使用其他設定步驟來使用設計工具。 如需詳細資訊,請參閱在 Azure 虛擬網路中使用 Azure Machine Learning 工作室

建立管線

  1. 登入 ml.azure.com,並選取您要使用的工作區。

  2. 選取 [設計工具]。

    Screenshot of the visual workspace showing how to access the designer.

  3. 選取 [簡單易用的預建元件]。

  4. 在畫布頂端選取預設管線名稱 Pipeline-Created-on。 請將其重新命名為汽車價格預測。 此名稱不必是唯一的。

設定預設計算目標

對計算目標執行管線,此目標為連結至工作區的計算資源。 建立計算目標之後,您可以將其重複用於未來的執行。

重要

不支援附加的計算,請改用計算執行個體或叢集

您可以為整個管線設定預設計算目標,這將會告知每個模組依預設使用相同的計算目標。 不過,您也可以針對每個模組指定計算目標。

  1. 在管線名稱旁邊,選取畫布頂端的齒輪圖示Screenshot of the gear icon that is in the UI.,以開啟 [設定] 窗格。

  2. 在畫布右側的 [設定] 窗格中,選取 [選取計算目標]。

    如果您已經有可用的計算目標,您可以選取該目標來執行此管線。

  3. 輸入計算資源的名稱。

  4. 選取 [儲存]。

    注意

    建立計算資源大約需要五分鐘。 資源建立後,您可以在未來執行時加以重複使用,而略過這段等候時間。

    計算資源在閒置時會自動調整為零個節點,以節省成本。 當您在一段時間後再次加以使用時,它在相應增加時可能又會再出現約五分鐘的等候時間。

匯入資料

設計工具中包含數個範例資料集,可供您在實驗時使用。 在本教學課程中,使用汽車價格資料 (未經處理)

  1. 管線畫布左側是資料集和元件的選擇區。 選取 [範例資料集] 以查看可用的範例資料集。

  2. 選取資料集汽車價格資料 (原始) ,並將其拖曳到畫布上。

    Gif of dragging the Automobile price data to the canvas.

將資料視覺化

您可以將資料視覺化,以了解您將使用的資料集。

  1. 以滑鼠右鍵按一下 [汽車價格資料 (未經處理)],然後選取 [預覽資料]。

  2. 選取資料視窗中的不同資料行,以檢視各個資料行的相關資訊。

    每個資料列分別代表一款汽車,而與每款汽車相關聯的變數會顯示為資料行。 此資料集中有 205 個資料列和 26 個資料行。

準備資料

資料集在分析之前通常需進行一些前置處理。 您在檢查資料集時,可能會發現有某些遺漏值。 必須清除這些遺漏的值,才能讓模型正確地分析資料。

移除資料行

當您定型模型時,您必須對遺漏的資料採取某些動作。 在此資料集中,自負虧損資料行遺漏了許多值,因此您會將該資料行完全排除於模型外。

  1. 在畫布左側的元件選擇區中,展開 [資料轉換] 區段,然後尋找 [選取資料集中的資料行] 元件。

  2. 將 [選取資料集中的資料行] 元件拖曳至畫布上。 將元件放在資料集元件下方。

  3. 將 [汽車價格資料 (v)] 資料集連線至 [選取資料集中的資料行] 元件。 從資料集的輸出連接埠 (即畫布上位於資料集底部的小圓圈) 拖曳至 [選取資料集中的資料行] 的輸入連接埠 (即元件頂端的小圓圈)。

    提示

    將某個元件的輸出連接埠連線至另一個元件的輸入連接埠時,系統便會透過管線建立資料流程。

    Screenshot of connecting Automobile price data component to select columns in dataset component.

  4. 選取 [選取資料集中的資料行] 元件。

  5. 在畫布右側的元件詳細資訊窗格中,選取 [編輯資料行]。

  6. 展開 [包含] 旁的 [資料行名稱] 下拉式清單,然後選取 [所有資料行]。

  7. 選取 + 以新增規則。

  8. 從下拉式功能表中,選取 [排除] 和 [資料行名稱]。

  9. 在文字方塊中輸入自負虧損

  10. 在右下方選取 [儲存] 按鈕,以關閉資料行選取器。

    Screenshot of select columns with exclude highlighted.

  11. 選取 [選取資料集中的資料行] 元件。

  12. 在畫布右側的 [元件詳細資訊] 窗格中,選取 [註解] 文字方塊,然後輸入「排除自負虧損」。

    圖形上會出現註解,以協助您組織管線。

清除遺漏的資料

移除自負虧損資料行之後,您的資料集仍有遺漏值。 您可以使用 [清除遺漏的資料] 元件來移除其餘遺漏的資料。

提示

在使用設計工具中大部分的元件時,都必須從輸入資料中清除遺漏值。

  1. 在畫布左側的元件選擇區中,展開 [資料轉換] 區段,然後尋找 [清除遺漏的資料] 元件。

  2. 將 [清除遺漏的資料] 元件拖曳至管線畫布上。 將其連線至 [選取資料集中的資料行] 元件。

  3. 選取 [清除遺漏的資料] 元件。

  4. 在畫布右側的元件詳細資訊窗格中,選取 [編輯資料行]。

  5. 在顯示的 [要清除的資料行] 視窗中,展開 [包含] 旁的下拉式功能表。 選取 [所有資料行]

  6. 選取 [儲存]。

  7. 在畫布右側的 [元件詳細資訊] 窗格中,選取 [清除模式] 底下的 [移除整個資料列]。

  8. 在畫布右側的 [元件詳細資訊] 窗格中,選取 [註解] 方塊,然後輸入「移除遺漏值資料列」。

    您的管線此時應會顯示如下:

    Screenshot of automobile price data connected to select columns in dataset component, which is connected to clean missing data.

訓練機器學習模型

現在您已備妥用來處理資料的元件,接下來即可設定定型元件。

因為要預測價格,也就是一個數字,因此您將使用迴歸演算法。 在此範例中,您將使用線性迴歸模型。

分割資料

分割資料是機器學習服務中常見的工作。 您會將資料分割成兩個不同的資料集。 一個資料集會定型模型,另一個則會測試模型的執行效果。

  1. 在模組選擇區中展開 [資料轉換] 區段,然後尋找 [分割資料] 元件。

  2. 將 [分割資料] 元件拖曳至管線畫布上。

  3. 將 [清除遺漏的資料] 元件的左側連接埠,連線至 [分割資料] 元件。

    重要

    請確實將清除遺漏的資料的左側輸出連接埠連線至分割資料。 左側連接埠包含已清除的資料。 右側連接埠包含已捨棄的資料。

  4. 選取 [分割資料] 元件。

  5. 在畫布右側的 [元件詳細資訊] 窗格中,將 [第一個輸出資料集中的資料列比例] 設定為 0.7。

    此選項會分割 70% 的資料來定型模型,而 30% 供測試之用。 70% 的資料集將透過左側輸出連接埠來存取。 其餘資料可透過右側輸出連接埠取得。

  6. 在畫布右側的 [元件詳細資訊] 窗格中,選取 [註解] 方塊,然後輸入「將資料集分割成定型集 (0.7) 與測試集 (0.3)」。

將模型定型

藉由提供一個包含價格的資料集,將模型定型。 此演算法會建立一個模型,用以說明定型資料所呈現的特性與價格之間的關聯性。

  1. 在元件選擇區中,展開 [機器學習演算法]。

    此選項會顯示數個可用來初始化學習演算法的元件類別。

  2. 選取 [迴歸]>[線性迴歸],然後將其拖曳到管線畫布上。

  3. 在模組選擇區中,展開 [模組定型] 區段,然後將 [定型模型] 元件拖曳至畫布。

  4. 將 [線性迴歸] 元件的輸出,連線至 [定型模型] 元件的左側輸入。

  5. 將 [分割資料] 元件的定型資料輸出 (左側連接埠),連線至 [定型模型] 元件的右側輸入。

    重要

    請確實將分割資料的左側輸出連接埠連線至定型模型。 左側連接埠包含定型集。 右側連接埠包含測試集。

    Screenshot showing the Linear Regression connects to left port of Train Model and the Split Data connects to right port of Train Model.

  6. 選取 [定型模型] 元件。

  7. 在畫布右側的元件詳細資訊窗格中,選取 [編輯資料行] 選取器。

  8. 在 [標籤資料行] 對話方塊中,展開下拉式功能表,然後選取 [資料行名稱]。

  9. 在文字方塊中輸入價格,以指定您的模型要預測的值。

    重要

    請確定您輸入的資料行名稱完全相符。 price 的首字母請勿使用大寫。

    您的管線應會顯示如下:

    Screenshot showing the correct configuration of the pipeline after adding the Train Model component.

新增評分模型元件

使用 70% 的資料來定型模型後,您即可將該模型用來為其他 30% 的資料評分,以了解模型的運作是否理想。

  1. 在搜尋方塊中輸入 [score model],以尋找 [評分模型] 元件。 將元件拖曳至管線畫布上。

  2. 將 [定型模型] 元件的輸出,連線至 [評分模型] 的左側輸入連接埠。 將 [分割資料] 元件的測試資料輸出 (右側連接埠),連線至 [評分模型] 的右側輸入連接埠。

新增評估模型元件

使用 [評估模型] 元件,評估模型在測試資料集下的評分。

  1. 在搜尋方塊中輸入 [evaluate],以尋找 [評估模型] 元件。 將元件拖曳至管線畫布上。

  2. 將 [評分模型] 元件的輸出,連線至 [評估模型] 的左側輸入。

    最終的管線應會顯示如下:

    Screenshot showing the correct configuration of the pipeline.

提交管線

現在管線已全部設定完成,您可以提交管線執行來定型您的機器學習模型。 您可以在任何時間點提交有效的管線執行,以便在開發期間用來檢閱管線的變更。

  1. 在畫布頂端,選取 [提交]。

  2. 在 [設定管線作業] 對話方塊中,選取 [新建]。

    注意

    實驗群組的類似管線會一起執行。 如果您多次執行某個管線,您可以選取相同的實驗進行後續執行。

    1. 針對 [新的實驗名稱],輸入 Tutorial-CarPrices

    2. 選取 [提交] 。

    3. 您會在畫布的左窗格中看到提交清單,且在頁面右上角會快顯通知。 您可以選取 [作業詳細資料] 連結,以移至作業詳細資料頁面來進行偵錯。

      Screenshot of the submitted jobs list with a success notification.

    如果這是第一次執行,您的管線可能需要 20 分鐘的時間才能完成執行。 預設計算設定的最小節點大小為 0,這表示設計工具必須在閒置之後配置資源。 重複的管線執行花費較少的時間,因為已經配置計算資源。 此外,設計工具會針對每個元件使用快取的結果,以進一步提升效率。

檢視評分標籤

在 [作業詳細資料] 頁面中,您可以檢查管線作業狀態、結果和記錄。

Screenshot showing the pipeline job detail page.

執行完成後,您可以檢視管線執行的結果。 首先,請查看迴歸模型產生的預測。

  1. 以滑鼠右鍵按一下 [評分模型] 元件,然後選取 [預覽資料] >[評分資料集] 以檢視其輸出。

    您可以在這裡看到測試資料中的預測價格和實際價格。

    Screenshot of the output visualization highlighting the Scored Label column.

評估模型

使用評估模型,查看定型模型對測試資料集的執行效果。

  1. 以滑鼠右鍵按一下 [評估模型] 元件,然後選取 [預覽資料] >[評估結果] 以檢視其輸出。

您的模型會顯示下列統計資料:

  • 平均絕對誤差 (MAE) :絕對誤差的平均值。 誤差是指預測值與實際值之間的差異。
  • 均方根誤差 (RMSE) :對測試資料集所做之預測的平方誤差的評分根平均值。
  • 相對絕對誤差:相對於實際值與所有實際值之平均值之間的絕對差異的絕對誤差平均值。
  • 相對平方誤差:相對於實際值與所有實際值之平均值之間的平方差異的平方誤差平均值。
  • 決定係數:也稱為 R 平方值,這是一個統計計量,可指出模型對於資料的適用程度。

針對每個誤差統計資料,越小越好。 值越小,表示預測越接近實際值。 就決定係數而言,其值愈接近一 (1.0),預測就愈精準。

清除資源

如果您想要繼續進行本教學課程的第2部分:部署模型,請略過本節。

重要

您可以使用您所建立的資源,作為其他 Azure Machine Learning 教學課程和操作說明文章的先決條件。

刪除所有內容

如果您不打算使用所建立的任何資源,請刪除整個資源群組,以免產生任何費用。

  1. 在 Azure 入口網站中,於視窗左側選取 [資源群組]

    Delete resource group in the Azure portal

  2. 在清單中,選取您所建立的資源群組。

  3. 選取 [刪除資源群組]。

刪除資源群組同時會刪除您在設計工具中建立的所有資源。

刪除個別資產

在建立實驗的設計工具中,藉由選取個別資產,再選取 [刪除] 按鈕,即可刪除個別資產。

您在這裡建立的計算目標會在不使用時自動調整為零個節點。 如此可將費用降至最低。 如果您想要刪除計算目標,請採取下列步驟:

Delete assets

您可以選取每個資料集並選取 [取消註冊],從工作區中將資料集取消註冊。

Unregister dataset

若要刪除資料集,請使用 Azure 入口網站或 Azure 儲存體總管移至儲存體帳戶,並手動刪除這些資產。

後續步驟

在第二部分中,您將了解如何將模型部署為即時端點。