

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à.

# Parametri per il monitoraggio della deriva dei bias
<a name="clarify-config-json-monitor-bias-parameters"></a>

Il monitoraggio delle distorsioni di Amazon SageMaker Clarify riutilizza un sottoinsieme dei parametri utilizzati nella configurazione di analisi di. [File di configurazione dell’analisi](clarify-processing-job-configure-analysis.md) Dopo aver descritto i parametri di configurazione, questo argomento fornisce esempi di file JSON. Questi file vengono utilizzati per configurare i set di dati CSV e JSON Lines per monitorarli e rilevare eventuali bias quando i modelli di machine learning sono in produzione.

I seguenti parametri devono essere forniti in un file JSON. Il percorso di questo file JSON deve essere fornito nel parametro `ConfigUri` dell'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasAppSpecification](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasAppSpecification).
+ `"version"`: (facoltativo) versione dello schema del file di configurazione. Se non viene fornita, viene utilizzata l'ultima versione supportata.
+ `"headers"`: (facoltativo) un elenco di nomi di colonne nel set di dati. Se `dataset_type` è `"application/jsonlines"` e `"label"` è specificato, l'ultima intestazione diventa l'intestazione della colonna delle etichette. 
+ `"label"`: (facoltativo) attributo di destinazione per il modello da utilizzare per i *parametri di bias*. Specificato come nome di colonna o indice (se il formato del set di dati è CSV) o come JMESPath (se il formato del set di dati è JSON Lines).
+ `"label_values_or_threshold"`: (facoltativo) elenco dei valori o delle soglie delle etichette. Indica il risultato positivo utilizzato per i parametri di bias.
+ `"facet"`: (facoltativo) un elenco di funzionalità che sono attributi sensibili, chiamate facet. I facet vengono utilizzati in coppia per i *parametri di bias* e includono quanto segue:
  + `"name_or_index"`: nome o indice della colonna facet.
  + `"value_or_threshold"`: (facoltativo) elenco di valori o soglie che la colonna facet può assumere. Indica il gruppo sensibile, ad esempio il gruppo in base al quale viene misurato il bias. Se non vengono forniti, i parametri di bias vengono calcolati come un gruppo per ogni valore univoco (anziché tutti i valori). Se la colonna facet è numerica, questo valore di soglia viene applicato come limite inferiore per selezionare il gruppo sensibile.
+ `"group_variable"`: (facoltativo) Un nome di colonna o un indice per indicare la variabile di gruppo da utilizzare per il *parametro di bias* *Disparità demografica condizionale*.

Gli altri parametri devono essere forniti in `EndpointInput` (per gli endpoint in tempo reale) o `BatchTransformInput` (per i processi di trasformazione di batch) dell'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasJobInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelBiasJobInput).
+ `FeaturesAttribute`: questo parametro è obbligatorio se il formato dei dati di input dell'endpoint è `"application/jsonlines"`. È il JMESPath utilizzato per individuare le colonne delle funzionalità, se il formato del set di dati è JSON Lines.
+ `InferenceAttribute`: posizione dell'indice o del JMESPath nell'output del modello per l'attributo di destinazione da utilizzare per il monitoraggio dei bias mediante i parametri di bias. Se non viene fornito nel caso di `accept_type` CSV, si presume che l'output del modello sia un singolo valore numerico corrispondente a un punteggio o a una probabilità.
+ `ProbabilityAttribute`: posizione dell'indice o del JMESPath nell'output del modello per le probabilità. Se l'output del modello è JSON Lines con un elenco di etichette e probabilità, ad esempio, per il calcolo del bias viene selezionata l'etichetta che corrisponde alla probabilità massima.
+ `ProbabilityThresholdAttribute`: (facoltativo) un valore in virgola mobile che indica la soglia per selezionare l'etichetta binaria, nel caso della classificazione binaria. Il valore predefinito è 0,5.

## File di configurazione JSON di esempio per set di dati CSV e JSON Lines
<a name="clarify-config-json-monitor-bias-parameters-examples"></a>

Di seguito sono riportati alcuni esempi di file JSON utilizzati per configurare i set di dati CSV e JSON Lines, monitorarli e individuare eventuali deviazioni di bias.

**Topics**
+ [Set di dati CSV](#clarify-config-json-monitor-bias-parameters-example-csv)
+ [Set di dati JSON Lines](#clarify-config-json-monitor-bias-parameters-example-jsonlines)

### Set di dati CSV
<a name="clarify-config-json-monitor-bias-parameters-example-csv"></a>

Consideriamo un set di dati con quattro colonne di funzionalità e una colonna di etichette, in cui la prima funzionalità e l'etichetta sono binarie, come nell'esempio seguente.

```
0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499, 0
1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713, 1
0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576, 1
1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697, 1
```

Supponiamo che l'output del modello abbia due colonne, dove la prima è l'etichetta prevista e la seconda è la probabilità, come nell'esempio seguente.

```
1, 0.5385257417814224
```

Quindi, il seguente file di configurazione JSON mostra un esempio di come questo set di dati CSV può essere configurato.

```
{
    "headers": [
        "feature_0",
        "feature_1",
        "feature_2",
        "feature_3",
        "target"
    ],
    "label": "target",
    "label_values_or_threshold": [1],
    "facet": [{
        "name_or_index": "feature_1",
        "value_or_threshold": [1]
    }]
}
```

L'etichetta prevista viene selezionata dal parametro. `"InferenceAttribute"` Zero-based viene utilizzata la numerazione, quindi 0 indica la prima colonna dell'output del modello,

```
"EndpointInput": {
    ...
    "InferenceAttribute": 0
    ...
}
```

In alternativa, è possibile utilizzare diversi parametri per convertire i valori di probabilità in etichette binarie previste. Zero-based viene utilizzata la numerazione: 1 indica la seconda colonna; il `ProbabilityThresholdAttribute` valore 0,6 indica che una probabilità maggiore di 0,6 prevede che l'etichetta binaria sia 1.

```
"EndpointInput": {
    ...
    "ProbabilityAttribute": 1,
    "ProbabilityThresholdAttribute": 0.6
    ...
}
```

### Set di dati JSON Lines
<a name="clarify-config-json-monitor-bias-parameters-example-jsonlines"></a>

Consideriamo un set di dati con quattro colonne di funzionalità e una colonna di etichette, in cui la prima funzionalità e l'etichetta sono binarie, come nell'esempio seguente.

```
{"features":[0, 0.5814568701544718, 0.6651538910132964, 0.3138080342665499], "label":0}
{"features":[1, 0.6711642728531724, 0.7466687034026017, 0.1215477472819713], "label":1}
{"features":[0, 0.0453256543003371, 0.6377430803264152, 0.3558625219713576], "label":1}
{"features":[1, 0.4785191813363956, 0.0265841045263860, 0.0376935084990697], "label":1}
```

Supponiamo che l'output del modello abbia due colonne, dove la prima è un'etichetta prevista e la seconda è una probabilità.

```
{"predicted_label":1, "probability":0.5385257417814224}
```

Il seguente file di configurazione JSON mostra un esempio di come questo set di dati JSON Lines può essere configurato.

```
{
    "headers": [
        "feature_0",
        "feature_1",
        "feature_2",
        "feature_3",
        "target"
    ],
    "label": "label",
    "label_values_or_threshold": [1],
    "facet": [{
        "name_or_index": "feature_1",
        "value_or_threshold": [1]
    }]
}
```

Quindi, il valore del parametro `"features"` in `EndpointInput` (per gli endpoint in tempo reale) o `BatchTransformInput` (per i processi di trasformazione di batch) viene utilizzato per individuare le funzionalità nel set di dati e il valore del parametro `"predicted_label"` seleziona l'etichetta prevista dall'output del modello. 

```
"EndpointInput": {
    ...
    "FeaturesAttribute": "features",
    "InferenceAttribute": "predicted_label"
    ...
}
```

In alternativa, è possibile convertire i valori di probabilità in etichette binarie previste utilizzando il valore del parametro `ProbabilityThresholdAttribute`. Un valore pari a 0,6, ad esempio, indica che una probabilità maggiore di 0,6 prevede che l'etichetta binaria sia 1.

```
"EndpointInput": {
    ...
    "FeaturesAttribute": "features",
    "ProbabilityAttribute": "probability",
    "ProbabilityThresholdAttribute": 0.6
    ...
}
```