步驟 5:使用 ML 模型產生預測 - Amazon Machine Learning

我們不再更新 Amazon Machine Learning 服務或接受新使用者。本文件適用於現有使用者,但我們不再對其進行更新。如需詳細資訊,請參閱什麼是 Amazon Machine Learning

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 5:使用 ML 模型產生預測

Amazon Machine Learning (Amazon ML) 可以產生兩種預測:批次和即時。

一個即時預測是 Amazon ML 隨需產生的單一觀察預測。即時預測適用於行動應用程式、網站和其他需要以互動方式使用結果的應用程式。

一個批次預測是一組觀察的預測結果集。Amazon ML 會一起處理批次預測的記錄,因此可能需要一些時間。批次預測適用於需要一組觀察的預測或不以互動方式使用結果的預測之應用程式。

在本教學課程中,您會產生即時預測,預測某位潛在客戶是否會訂閱新產品。您也會產生大批次潛在客戶的預測。在批次預測方面,您將會使用您在「banking-batch.csv」中上傳的 步驟 1:準備您的資料 檔案。

那麼就先從即時預測開始。

注意

對於需要即時預測的應用程式,您必須建立 ML 模型的即時端點。當即時端點可使用時,會產生費用。在您承諾使用即時預測並開始產生與其相關的費用前,可以先在 Web 瀏覽器中試用即時預測功能,而不用建立即時端點。這就是在本教學課程中將要操作的內容。

試用即時預測
  1. ML model report (ML 模型報告) 導覽窗格中,選擇 Try real-time predictions (試用即時預測)

  2. 選擇 Paste a record (貼上記錄)

  3. Paste a record (貼上記錄) 對話方塊中,貼上以下觀察:

    32,services,divorced,basic.9y,no,unknown,yes,cellular,dec,mon,110,1,11,0,nonexistent,-1.8,94.465,-36.1,0.883,5228.1
  4. 在 中貼上記錄對話方塊中,選擇提交,確認您想要產生此觀察的預測。Amazon ML 會在即時預測表單中填入這些值。

    注意

    您也可以輸入個別的值,藉此填入 Value (值) 欄位。無論您選擇何種方法,都應提供不是用於訓練模型的觀察。

  5. 在頁面底部,選擇 Create prediction (建立預測)

    預測會顯示在右側的 Prediction results (預測結果) 窗格中。此預測的 Predicted label (預測標籤)0,表示此潛在客戶不可能回應活動。Predicted label (預測標籤)1 則表示客戶可能回應活動。

現在來建立批次預測。您將要向 Amazon ML 提供您使用的 ML 模型名稱、您想要產生預測之輸入資料 (Amazon S3) 位置 (Amazon ML 會從這份資料建立批次預測資料來源),以及儲存結果的 Amazon S3 位置。

建立批次預測
  1. 選擇 Amazon Machine Learning,然後選擇 Batch Predictions (批次預測)

  2. 選擇 Create new batch prediction (建立新的批次預測)

  3. 用於批量預測的 ML 模型頁面上,選擇ML 模型:銀行業資料 1

    Amazon ML 會顯示 ML 模型名稱、ID、建立時間和相關的資料來源 ID。

  4. 選擇 Continue (繼續)

  5. 若要產生預測,您需要向 Amazon ML 提供您需要預測的資料。這稱為「輸入資料」。首先,將輸入資料放入資料來源,以便 Amazon ML 可存取。

    Locate the input data (尋找輸入資料) 選擇 My data is in S3, and I need to create a datasource (我的資料存放在 S3 中,而且我需要建立資料來源)

  6. 針對 Datasource name (資料來源名稱)​ 輸入 Banking Data 2

  7. S3 Location (S3 位置) 輸入 banking-batch.csv 檔案的完整位置:您的儲存貯體/banking-batch.csv

  8. Does the first line in your CSV contain the column names? (CSV 的第一行是否包含欄名?) 選擇 Yes (是)

  9. 選擇 Verify (驗證)

    Amazon ML 會驗證您資料的位置。

  10. 選擇 Continue (繼續)

  11. 適用於S3 目的地中,輸入您在步驟 1 中上傳檔案的 Amazon S3 位置名稱:準備您的資料。Amazon ML 會將預測結果上傳到這裡。

  12. 適用於Batch 次預測名稱,接受預設值Batch prediction: ML model: Banking Data 1。Amazon ML 會根據其建立預測所用的模型,選擇預設名稱。在本教學課程中,模型和預測結果都會以訓練資料來源 Banking Data 1 命名。

  13. 選擇 Review (檢閱)

  14. S3 permissions (S3 許可) 對話方塊中,選擇 Yes (是)

  15. Review (檢閱) 頁面上,選擇 Finish (完成)

    批次預測要求即會傳送至 Amazon ML 並進入隊列中。Amazon ML 處理批次預測所花費的時間,取決於您的資料來源大小和 ML 模型的複雜度。當 Amazon ML 處理請求時,其回報的狀態為進行中。在批次預測完成後,請求的狀態會變更為 Completed (已完成)。您現在可以檢視結果。

檢視預測
  1. 選擇 Amazon Machine Learning,然後選擇 Batch Predictions (批次預測)

  2. 在預測列表中,選擇Batch 次預測:ML 模型:銀行業資料 1Batch prediction info (批次預測資訊) 頁面隨即出現。

  3. 若要查看批次預測的結果,請前往 Amazon S3 控制台,網址為https://console.aws.amazon.com/s3/,Amazon S3 覽至輸出 S3 URL欄位。從該位置再導覽至結果資料夾,其名稱類似於 s3://aml-data/batch-prediction/result

    預測會存放在壓縮的 .gzip 檔案中,副檔名為 .gz。

  4. 將預測檔案下載到您的桌面,解壓縮後開啟它。

    該檔案會有兩欄:bestAnswer (最佳答案)score (分數),同時您的資料來源中的每項觀察各占一列。bestAnswer (最佳答案) 欄內的結果是以您在步驟 4:檢 ML 模型的預測效能並設定分數閾值時設定的分數閾值 0.77 為依據。score (分數) 大於 0.77 會得到 bestAnswer (最佳答案) 為 1 表示正回應或預測,而 score (分數) 小於 0.77 會得到 bestAnswer (最佳答案) 為 0 表示負回應或預測。

    下列範例顯示以 0.77 為分數閾值的正負預測。

正預測:

在此範例中,bestAnswer (最佳答案) 的值為 1,而 score (分數) 的值為 0.8228876。bestAnswer (最佳答案) 的值為 1 是因為 score (分數) 大於分數閾值 0.77。bestAnswer (最佳答案) 為 1 表示客戶可能會購買您的產品,因而視為正預測。

負預測:

在此範例中,bestAnswer (最佳答案) 的值為 0 是因為 score (分數) 值 0.7695356 小於分數閾值 0.77。bestAnswer (最佳答案) 為 0 表示客戶不太可能購買您的產品,因而視為負預測。

批次結果的每列均會對應到您批次輸入中的一列 (您資料來源中的觀察)。

分析了預測結果後,您就可以執行您的目標行銷活動,例如向所有預測分數為 1 的人發送傳單。

既然您已建立、檢閱並使用了模型,請清理您建立的資料和 AWS 資源,以免產生不必要的費用,並保持工作空間整齊。