設定訓練時使用的欄 - Amazon Personalize

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

設定訓練時使用的欄

重要

根據預設,所有新的解決方案都使用自動訓練。透過自動訓練,您可以在解決方案啟用時產生訓練費用。為了避免不必要的成本,當您完成時,您可以更新解決方案以關閉自動訓練。如需有關訓練費用的資訊,請參閱 Amazon Personalize 定價

如果您的方案產生項目建議或使用者區段,您可以修改 Amazon Personalize 在建立解決方案版本 (訓練模型) 時考慮的欄。

您可以變更訓練時使用的欄,以控制訓練模型 (建立解決方案版本) 時 Amazon Personalize 使用的資料。您可以這樣做來嘗試不同的訓練資料組合。或者,您可以排除沒有有意義數據的列。例如,可能有一個您只想用來篩選建議的資料行。您可以將此資料欄排除在訓練之外,而 Amazon Personalize 只會在篩選時加以考量。

您無法排除 EVENT _ TYPE 欄。根據預設,Amazon Personalize 會使用訓練時可使用的所有欄。下列資料一律會從訓練中排除:

  • 具有布林資料類型的資料行

  • 印象資料

  • 不是分類或文本的自定義字符串字段

您無法在訓練中包含曝光次數資料,但是如果您的使用案例或配方使用該資料,Amazon Personalize 會在您取得建議時使用曝光次數資料來指導探索。

如果您已經建立解決方案,而且想要修改訓練時使用的資料行,您可以複製解決方案。當您複製解決方案時,您可以使用現有解決方案的組態作為起點,例如方案和超參數,並視需要進行任何變更。如需詳細資訊,請參閱複製解決方案 (主控台)

使用 Amazon Personalize 主控台進行訓練時,您可以設定 Amazon Personalize 使用的欄, AWS Command Line Interface (AWS CLI),或 AWS SDK。如需使用 Amazon Personalize 主控台選擇資料欄的詳細資訊,請參閱中的進階組態步驟建立解決方案 (主控台)。建立解決方案之後,您可以在 Amazon Personalize 主控台的解決方案詳細資料頁面上檢視解決方案使用的資料欄,或與DescribeSolution操作一起檢視。

設定訓練時使用的資料欄 (AWS CLI)

若要從訓練中排除欄,請在中提供excludedDatasetColumns物件trainingDataConfig做為解決方案組態的一部分。針對每個索引鍵,提供資料集類型。針對每個值,提供要排除的欄清單。下列程式碼示範如何在建立解決方案時,從訓練中排除資料行 AWS CLI.

aws personalize create-solution \ --name solution name \ --dataset-group-arn dataset group ARN \ --recipe-arn recipe ARN \ --solution-config "{\"trainingDataConfig\": {\"excludedDatasetColumns\": { \"datasetType\" : [ \"column1Name\", \"column2Name\"]}}}"

設定訓練時使用的資料欄 (AWS SDKs)

若要從訓練中排除欄,請在中提供excludedDatasetColumns物件trainingDataConfig做為解決方案組態的一部分。針對每個索引鍵,提供資料集類型。針對每個值,提供要排除的欄清單。下列程式碼會示範如何在您使用 Python (Boto3) 建立解決方案時,從訓練中排除資料行。SDK

import boto3 personalize = boto3.client('personalize') create_solution_response = personalize.create_solution( name = 'solution name', recipeArn = 'recipe ARN', datasetGroupArn = 'dataset group ARN', solutionConfig = { "trainingDataConfig": { "excludedDatasetColumns": { "datasetType": ["COLUMN_A", "COLUMN_B"] } } } ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)