

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

# コンテナコントラクトの出力
<a name="model-monitor-byoc-contract-outputs"></a>

コンテナは、`*dataset_source*` パスで使用可能なデータを分析し、`*output_path*.` 内のパスにレポートを書き込むことができます。コンテナコードは、ニーズに合った任意のレポートを書くことができます。

次の構造と契約を使用すると、特定の出力ファイルは可視化と API で SageMaker AI によって特別に処理されます。これは、表形式のデータセットにのみ適用されます。

表形式データセットの出力ファイル


| ファイル名 | 説明 | 
| --- | --- | 
| statistics.json |  このファイルには、分析対象のデータセット内の各フィーチャに対する列状の統計が含まれます。このファイルのスキーマは次のセクションで確認できます。  | 
| constraints.json |  このファイルには、確認されたフィーチャの制約が含まれます。このファイルのスキーマは次のセクションで確認できます。  | 
| constraints\$1violations.json |  このファイルには、`baseline_constaints` および `baseline_statistics` パスで指定されたベースライン統計および制約ファイルと比較して、この現在のデータセットで検出された違反のリストが含まれています。  | 

さらに、`publish_cloudwatch_metrics` 値が `"Enabled"` である場合、コンテナコードは `/opt/ml/output/metrics/cloudwatch` に Amazon CloudWatch メトリクスを出力できます。これらのファイルのスキーマについては、続くセクションで説明します。

**Topics**
+ [統計のスキーマ (statistics.json ファイル)](model-monitor-byoc-statistics.md)
+ [制約のスキーマ (constraints.json ファイル)](model-monitor-byoc-constraints.md)

# 統計のスキーマ (statistics.json ファイル)
<a name="model-monitor-byoc-statistics"></a>

`statistics.json` ファイルに定義されているスキーマは、ベースラインに対して計算される統計パラメータと、取得されるデータを指定します。また、[KLL](https://datasketches.apache.org/docs/KLL/KLLSketch.html) が使用するバケットを設定します。KLL は、遅延圧縮スキームを持つ非常にコンパクトな分位数スケッチです。

```
{
    "version": 0,
    # dataset level stats
    "dataset": {
        "item_count": number
    },
    # feature level stats
    "features": [
        {
            "name": "feature-name",
            "inferred_type": "Fractional" | "Integral",
            "numerical_statistics": {
                "common": {
                    "num_present": number,
                    "num_missing": number
                },
                "mean": number,
                "sum": number,
                "std_dev": number,
                "min": number,
                "max": number,
                "distribution": {
                    "kll": {
                        "buckets": [
                            {
                                "lower_bound": number,
                                "upper_bound": number,
                                "count": number
                            }
                        ],
                        "sketch": {
                            "parameters": {
                                "c": number,
                                "k": number
                            },
                            "data": [
                                [
                                    num,
                                    num,
                                    num,
                                    num
                                ],
                                [
                                    num,
                                    num
                                ][
                                    num,
                                    num
                                ]
                            ]
                        }#sketch
                    }#KLL
                }#distribution
            }#num_stats
        },
        {
            "name": "feature-name",
            "inferred_type": "String",
            "string_statistics": {
                "common": {
                    "num_present": number,
                    "num_missing": number
                },
                "distinct_count": number,
                "distribution": {
                    "categorical": {
                         "buckets": [
                                {
                                    "value": "string",
                                    "count": number
                                }
                          ]
                     }
                }
            },
            #provision for custom stats
        }
    ]
}
```

**注意事項**  
後の可視化の変更において、SageMaker AI はこの指定されたメトリクスを認識します。必要に応じて、コンテナはより多くのメトリクスを出力できます。
[KLL スケッチ](https://datasketches.apache.org/docs/KLL/KLLSketch.html)は、認識されるスケッチです。カスタムコンテナは独自の表現を記述できますが、可視化では、SageMaker AI はそのコンテナを認識できません。
デフォルトでは、ディストリビューションは 10 個のバケットでマテリアライズされます。これを変更することはできません。

# 制約のスキーマ (constraints.json ファイル)
<a name="model-monitor-byoc-constraints"></a>

constraints.json ファイルは、データセットが満たす必要がある制約を示すために使用されます。また、Amazon SageMaker Model Monitor コンテナは constraints.json ファイルを使用して、データセットを評価できます。ビルド済みコンテナは、ベースラインデータセットの constraints.json ファイルを自動的に生成する機能を提供します。独自のコンテナを持ち込む場合は、同様の機能を提供することも、他の方法で constraints.json ファイルを作成することもできます。以下は、ビルド済みコンテナが使用する制約ファイルのスキーマです。独自のコンテナを取り込む場合、同じ形式を採用するか、必要に応じてその機能を拡張できます。

```
{
    "version": 0,
    "features":
    [
        {
            "name": "string",
            "inferred_type": "Integral" | "Fractional" | 
                    | "String" | "Unknown",
            "completeness": number,
            "num_constraints":
            {
                "is_non_negative": boolean
            },
            "string_constraints":
            {
                "domains":
                [
                    "list of",
                    "observed values",
                    "for small cardinality"
                ]
            },
            "monitoringConfigOverrides":
            {}
        }
    ],
    "monitoring_config":
    {
        "evaluate_constraints": "Enabled",
        "emit_metrics": "Enabled",
        "datatype_check_threshold": 0.1,
        "domain_content_threshold": 0.1,
        "distribution_constraints":
        {
            "perform_comparison": "Enabled",
            "comparison_threshold": 0.1,
            "comparison_method": "Simple"||"Robust",
            "categorical_comparison_threshold": 0.1,
            "categorical_drift_method": "LInfinity"||"ChiSquared"
        }
    }
}
```

`monitoring_config` オブジェクトには、機能のモニタリングジョブのオプションが含まれています。次の表で各オプションについて説明します。

制約のモニタリング

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/model-monitor-byoc-constraints.html)