

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Schema per vincoli (file constraints.json)
<a name="model-monitor-byoc-constraints"></a>

Il file constraints.json viene usato per esprimere i vincoli che un set di dati deve soddisfare. I contenitori Amazon SageMaker Model Monitor possono utilizzare il file constraints.json per valutare i set di dati. I container esistenti offrono la possibilità di generare automaticamente il file constraints.json per un set di dati della baseline. Se porti il tuo container, puoi dotarlo di abilità simili o puoi creare il file constraints.json in altro modo. Ecco lo schema per il file di vincolo utilizzato dal container esistente. Portare i propri container consente di adottare lo stesso formato o migliorarlo in base alle necessità.

```
{
    "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"
        }
    }
}
```

L'oggetto `monitoring_config` contiene opzioni per il monitoraggio del processo relativo alla funzionalità. Nella tabella seguente è descritta ciascuna opzione.

Vincoli di monitoraggio



- **`evaluate_constraints`**
  - Quando `Enabled`, valuta se il set di dati corrente analizzato soddisfa i vincoli specificati nel file constraints.json preso come baseline. <br />Valori validi: `Enabled` o `Disabled`<br />Impostazione predefinita: `Enabled`

- **`emit_metrics`**
  - When`Enabled`, emette CloudWatch parametri per i dati contenuti nel file.<br />Valori validi: `Enabled` o `Disabled`<br />Impostazione predefinita: `Enabled`

- **`datatype_check_threshold`**
  - Se la soglia è superiore al valore del `datatype_check_threshold` specificato, questo causa un errore che viene trattato come violazione nel report di violazione. Se i tipi di dati nell'esecuzione corrente non sono gli stessi del set di dati della baseline, questa soglia viene utilizzata per valutare se deve essere contrassegnata come violazione.<br />Nella fase della linea di base, i vincoli generati suggeriscono il tipo di dati dedotto per ogni colonna. Il parametro `datatype_check_threshold` può essere sintonizzato per regolare la soglia quando questa viene contrassegnata come violazione.<br />Valori validi: float.<br />Impostazione predefinita: 0.1

- **`domain_content_threshold`**
  - Se nel set di dati corrente sono presenti più valori sconosciuti per un campo String rispetto al set di dati della baseline, questa soglia può essere utilizzata per stabilire se deve essere contrassegnata come violazione.<br />Valori validi: float.<br />Impostazione predefinita: 0.1

- **`distribution_constraints`**
  - perform\_comparisonQuando `Enabled`, questo flag indica al codice di eseguire un confronto tra la distribuzione della baseline e la distribuzione osservata per il set di dati corrente.<br />Valori validi: `Enabled` o `Disabled` <br />Impostazione predefinita: `Enabled`
  - comparison\_thresholdSe la soglia è superiore al valore impostato per `comparison_threshold`, questo causa un errore che viene trattato come una violazione nel report di violazione. La distanza viene calcolata ottenendo la differenza assoluta massima tra le funzioni di distribuzione cumulativa di due distribuzioni. <br />Valori validi:<br />Impostazione predefinita: 0.1
  - comparison\_methodSe calcolare `linf_simple` o `linf_robust`. `linf_simple` si basa sulla differenza assoluta massima tra le funzioni di distribuzione cumulativa di due distribuzioni. Il calcolo `linf_robust` si basa su `linf_simple`, ma viene utilizzato quando non ci sono abbastanza campioni. La `linf_robust` formula si basa sul test di [Two-sample Kolmogorov-Smirnov](https://en.m.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test).<br />Valori validi: `linf_simple` o `linf_robust`
  - categorical\_comparison\_thresholdOpzionale. Imposta una soglia per le funzionalità categoriche. Se il valore nel set di dati supera la soglia impostata, nel rapporto di violazione viene registrata una violazione.<br />Valori validi: float.<br />Impostazione predefinita: il valore assegnato al parametro `comparison_threshold`
  - categorical\_drift\_methodOpzionale. Per le funzionalità categoriche, specifica il metodo di calcolo utilizzato per rilevare la deviazione della distribuzione. Se non si imposta questo parametro, viene utilizzato il test (LInfinity). K-S <br />Valori validi: `LInfinity` o `ChiSquared`<br />Impostazione predefinita: `LInfinity`

