表形式データに対するエンドポイントリクエスト - Amazon SageMaker

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

表形式データに対するエンドポイントリクエスト

トレーニング後のバイアス分析と特徴量重要度分析のモデル予測を取得するには、 SageMaker Clarify 処理ジョブで表形式データをバイトにシリアル化し、それらをリクエストペイロードとして推論エンドポイントに送信します。この表形式のデータは、入力データセットから取得されるか、生成されます。合成データの場合、SHAP分析またはPDP分析のために説明者が生成します。

リクエストペイロードのデータ形式は、分析設定 content_type パラメータで指定する必要があります。パラメータが指定されていない場合、 SageMaker Clarify 処理ジョブは dataset_typeパラメータの値をコンテンツタイプとして使用します。content_type または の詳細についてはdataset_type、「」を参照してください分析設定ファイル

以下のセクションでは、 CSVおよび JSON Lines 形式のエンドポイントリクエストの例を示します。

SageMaker Clarify 処理ジョブは、データをCSV形式 (MIMEタイプ: ) にシリアル化できますtext/csv。次の表は、シリアル化されたリクエストペイロードの例を示しています。

エンドポイントリクエストペイロード (文字列表現) コメント

'1,2,3,4'

単一レコード (4 つの数値特徴量)。

'1,2,3,4\n5,6,7,8'

改行 '\n' で区切られた 2 つのレコード。

'"これはよい製品です",5'

単一レコード (テキスト特徴量と数値特徴量)。

‘"これはよい製品です",5\n"悪いショッピング体験",1’

2 つのレコード

SageMaker Clarify 処理ジョブは、データを Lines の高密度形式 (MIMEタイプ: ) に SageMaker JSONシリアル化できますapplication/jsonlines。JSON 行の詳細については、「」を参照してくださいJSONLINES リクエスト形式

表形式データをJSONデータに変換するには、分析設定content_templateパラメータにテンプレート文字列を指定します。content_template の詳細については、分析設定ファイルを参照してください。次の表は、シリアル化された JSON Lines リクエストペイロードの例を示しています。

エンドポイントリクエストペイロード (文字列表現) コメント

'{"data":{"features":[1,2,3,4]}}'

単一レコード。この場合、テンプレートは '{"data":{"features":$features}}' のリストのようになり、$features は特徴量リスト [1,2,3,4] に置き換えられます。

'{"data":{"features":[1,2,3,4]}}\n{"data":{"features":[5,6,7,8]}}'

2 つのレコード。

'{"features":["これはよい製品です",5]}'

単一レコード。この場合、テンプレートは '{"features":$features}' のリストのようになり、$features は特徴量リスト ["This is a good product",5] に置き換えられます。

'{"features":["これはよい製品です",5]}\n{"features":["悪いショッピング体験",1]}'

2 つのレコード。

SageMaker Clarify 処理ジョブは、任意のJSON構造 (MIMEタイプ: ) にデータをシリアル化できますapplication/json。そのためには、分析設定 content_template パラメータにテンプレート文字列を指定する必要があります。これは、 SageMaker Clarify 処理ジョブが外部JSON構造を構築するために使用します。また、 のテンプレート文字列を指定する必要があります。これはrecord_template、各レコードのJSON構造を構築するために使用されます。content_templaterecord_template の詳細については、「分析設定ファイル」を参照してください。

注記

content_template および record_templateは文字列パラメータであるため、JSONシリアル化された構造の一部である二重引用符文字 (") は、設定でエスケープされた文字として記録する必要があります。例えば、Python で二重引用符をエスケープしたい場合は、content_template に次のように入力できます。

"{\"data\":{\"features\":$record}}}"

次の表は、シリアル化されたJSONリクエストペイロードの例と、それらを構築するために必要な対応するcontent_templateパラメータとrecord_templateパラメータを示しています。

エンドポイントリクエストペイロード (文字列表現) コメント content_template record_template

'{"data":{"features":[1,2,3,4]}}'

一度に 1 つのレコード。

'{"data":{"features":$record}}}'

“$features"

'{"instances":[[0, 1], [3, 4]], "feature-names": ["A", "B"]}'

特徴量名を含むマルチレコード。

{"instances":$records, "feature-names":$feature_names}'

“$features"

'[{"A": 0, "B": 1}, {"A": 3, "B": 4}]'

マルチレコードとキーと値のペア。

“$records"

“$features_kvp"

{"A": 0, "B": 1}'

一度に 1 つのレコードとキーと値のペア

"$record"

"$features_kvp"

{"A": 0, "nested": {"B": 1}}'

代替方法として、任意の構造に対して非常に詳細な Record_template を使用します。

"$record"

'{"A": "${A}", "nested": {"B": "${B}"}}'