トレーニングに使用するアイテムインタラクションデータの選択 - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

トレーニングに使用するアイテムインタラクションデータの選択

重要

ソリューションを作成した後は、その設定を変更することはできません。デフォルトでは、すべての新しいソリューションで自動トレーニングが使用されます。自動トレーニングでは、ソリューションがアクティブである間にトレーニングコストが発生します。不要なコストを避けるため、作業が終了したらソリューションを削除してください。トレーニングコストの詳細については、「Amazon Personalize の料金」を参照してください。

Amazon Personalize がソリューションバージョンの作成 (モデルのトレーニング) 時に使用するアイテムインタラクションデータセットのイベントを選択できます。トレーニングの前にアイテムインタラクションデータを選択すると、データの関連するサブセットのみをトレーニングに使用したり、ノイズを除去して、より最適化されたモデルをトレーニングしたりできます。アイテムインタラクションデータセットの詳細については、「 スキーマ」および「アイテムインタラクションデータセット」を参照してください。

注記

User-Personalization-v2 または Personalized-Ranking-v2 を使用する場合、トレーニングコストは、イベントタイプまたは値でフィルタリングする前にアイテムインタラクションデータに基づきます。料金の詳細については、「Amazon Personalize の料金」を参照してください。

アイテムインタラクションデータは次のように選択できます。

  • タイプに基づいてレコードを選択する - ソリューションを設定するときに、アイテムインタラクションデータセットの EVENT_TYPE 列にイベントタイプが含まれている場合、オプションで、トレーニングで使用するイベントタイプを指定できます。例えば、アイテムインタラクションデータセットに [購入]、[クリック]、および [視聴] イベントタイプが含まれており、Amazon Personalize で [視聴] イベントのみを使用してモデルをトレーニングする場合、ソリューションを設定するときに、Amazon Personalize がトレーニングで使用する event type として [視聴] を指定します。

    アイテムインタラクションデータセットの EVENT_TYPE 列に複数のイベントタイプがあり、ソリューションを設定するときにイベントタイプを指定しなかった場合、Amazon Personalize は、タイプにかかわらず、すべてのアイテムインタラクションデータを同じ重みでトレーニングに使用します。

  • タイプと値に基づいてレコードを選択する - ソリューションを設定するときに、アイテムインタラクションデータセットに EVENT_TYPE フィールドと EVENT_VALUE フィールドが含まれている場合、トレーニングからレコードを除外するためのしきい値として特定の値を設定できます。例えば、EVENT_TYPE が [watch] (視聴) のイベントの EVENT_VALUE データが、ユーザーが視聴した動画のパーセンテージ (%) である場合であって、イベント値のしきい値を 0.5 に、イベントタイプを [watch] (視聴) に設定する場合、Amazon Personalize は、EVENT_VALUE が 0.5 以上の [watch] (視聴) インタラクションイベントのみを使用してモデルをトレーニングします。

次のコードは、SDK for Python (Boto3) を使用して、 がビデオの半分以上を視聴したwatchイベントのみを使用するソリューションを作成する方法を示しています。

import boto3 personalize = boto3.client('personalize') create_solution_response = personalize.create_solution( name = 'solution name', datasetGroupArn = 'arn:aws:personalize:region:accountId:dataset-group/datasetGroupName', recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization-v2', eventType = 'watch', solutionConfig = { "eventValueThreshold": "0.5" } ) # Store the solution ARN solution_arn = create_solution_response['solutionArn'] # Use the solution ARN to get the solution status solution_description = personalize.describe_solution(solutionArn = solution_arn)['solution'] print('Solution status: ' + solution_description['status'])