ステップ 2: ソリューションを設定する - Amazon Personalize

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

ステップ 2: ソリューションを設定する

ステップ 1: レシピの選択 を完了すると、モデルをトレーニングするためのソリューションを設定する準備が整います。

ソリューションを設定すると、モデルが特定のビジネスニーズを満たすようにトレーニングをカスタマイズできます。ソリューションを設定するには、トレーニングに使用するデータ、トレーニングに使用するレシピ、および追加のソリューションパラメータとレシピ固有のハイパーパラメータを含むデータセットグループを指定します。Interactions トレーニングデータに EVENT_TYPE および EVENT_VALUE データが含まれている場合、ソリューションを設定するときに、トレーニングの前に Interactions データを除外できます。

コンソール、AWS Command Line Interface (AWS CLI)、または AWS SDK を使用してソリューションを作成および設定できます。

ソリューションの設定 (コンソール)

コンソールでソリューションを設定するには、使用するデータセットを含むデータセットグループを選択してから、ソリューション名、レシピ、およびオプションのレシピ固有のハイパーパラメータを指定します。

ソリューションを設定するには (コンソール)

  1. https://console.aws.amazon.com/personalize/home で Amazon Personalize コンソールを開き、アカウントにサインインします。

  2. データセットグループのページに移動し、トレーニングに使用するデータセットグループを選択します。

  3. リポジトリの []概要ページで、ソリューションの作成[] ボタン。

  4. [Solution name (ソリューション名)] で、ソリューションの名前を指定します。

  5. [Solution type] (ソリューションタイプ) で、[Item recommendation] (アイテムのレコメンデーション) を選択してユーザー向けのアイテムのレコメンデーションを取得するか、[User segmentation] (ユーザーのセグメンテーション) を選択してアイテムデータに基づいてユーザーセグメント (ユーザーのグループ) を取得します。

  6. [Recipe] (レシピ) で、レシピを選択します (「ステップ 1: レシピの選択」を参照)。

  7. [Solution configuration] (ソリューション設定) で、Interactions データセットに EVENT_TYPE 列または EVENT_TYPE 列と EVENT_VALUE 列の両方がある場合は、オプションで [Event type] (イベントタイプ) と [Event value threshold] (イベント値のしきい値) のフィールドを使用して、モデルのトレーニング時に Amazon Personalize が使用するインタラクションデータを選択します。

    詳細については、「トレーニングに使用するインタラクションデータの選択」を参照してください。

  8. ユーザーパーソナライズのレシピ または パーソナライズされたレシピ レシピのいずれかを使用する場合は、オプションで [Objective] (目的) を指定し、[Objective sensitivity] (目的の感度) を選択して、関連性に加えて目的に合わせてソリューションを最適化します。詳細については、「追加の目的のためのソリューションの最適化」を参照してください。

  9. レシピとビジネスニーズに基づいて、ハイパーパラメータのオプションを設定します。異なるレシピは異なるハイパーパラメータを使用します。利用可能なハイパーパラメータについては、「ステップ 1: レシピの選択」で個々のレシピを参照してください。

  10. を使用する場合タグオプションで、タグを追加します。Amazon Personalize リソースのタグ付けの詳細については、「」を参照してください。Amazon Personalize リソースに対してタグ付け

  11. [Create and train solution] (ソリューションを作成およびトレーニング) を選択します。[Dashboard] (ダッシュボード) のページが表示されます。ソリューションバージョンの作成 (コンソール) に進みます。

ソリューションの設定 (AWS CLI)

AWS CLI を使用してソリューションを設定するには、次の create-solution 操作を使用します。solution namedataset group arn、および recipe arn を指定します。

aws personalize create-solution \ --name solution name \ --dataset-group-arn dataset group arn \ --recipe-arn recipe arn

ソリューションの Amazon リソースネーム (ARN) が表示されます。次に例を示します。

{ "solutionArn": "arn:aws:personalize:<region>:solution/<solution name>" }

上記のコードを変更して、レシピのプロパティとハイパーパラメータを最適化するか (「ハイパーパラメータおよび HPO」を参照)、トレーニングに使用される Interactions データをフィルタリングできます (「トレーニングに使用するインタラクションデータの選択」を参照)。

ユーザーパーソナライズのレシピ または パーソナライズされたレシピ レシピのいずれかを使用する場合は、関連性に加えて、目的に合わせてソリューションを最適化できます。詳細については、「追加の目的のためのソリューションの最適化」を参照してください。

将来の使用のためにソリューション ARN を記録し、ソリューションバージョンの作成 (AWS CLI) に進みます。

ソリューションの設定 (AWS SDK)

次のコードは、SDK for Python (Boto3) または SDK for Java 2.x を使用して Amazon Personalize のソリューションを作成する方法を示しています。

次のコードを変更して、レシピのプロパティとハイパーパラメータを最適化するか (「ハイパーパラメータおよび HPO」を参照)、トレーニングに使用される Interactions データをフィルタリングできます (「トレーニングに使用するインタラクションデータの選択」を参照)。ユーザーパーソナライズのレシピ または パーソナライズされたレシピ レシピのいずれかを使用する場合は、関連性に加えて、目的に合わせてソリューションを最適化できます。詳細については、「追加の目的のためのソリューションの最適化」を参照してください。

将来の使用のためにソリューション ARN を記録し、ソリューションバージョンの作成 (AWS SDK) に進みます。

SDK for Python (Boto3)

次の create_solution メソッドを使用して新しいソリューションを作成します。solution name をソリューション名に、recipe arnステップ 1: レシピの選択 のレシピの Amazon リソースネーム (ARN) に、dataset group arn をデータセットグループの ARN に、それぞれ置き換えます。

import boto3 personalize = boto3.client('personalize') print('Creating solution') create_solution_response = personalize.create_solution( name='solution name', recipeArn= 'recipe arn', datasetGroupArn = 'dataset group arn' ) solution_arn = create_solution_response['solutionArn'] print('solution_arn: ', solution_arn)
SDK for Java 2.x

次の createPersonalizeSolution メソッドを使用して新しいソリューションを作成します。パラメータとして、以下を渡します。あるPersonalizeClient、データセットグループの Amazon リソースネーム (ARN)、ソリューションの名前、およびからのレシピの ARNステップ 1: レシピの選択

public static String createPersonalizeSolution(PersonalizeClient personalizeClient, String datasetGroupArn, String solutionName, String recipeArn) { try { CreateSolutionRequest solutionRequest = CreateSolutionRequest.builder() .name(solutionName) .datasetGroupArn(datasetGroupArn) .recipeArn(recipeArn) .build(); CreateSolutionResponse solutionResponse = personalizeClient.createSolution(solutionRequest); return solutionResponse.solutionArn(); } catch (PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }