

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

# Formati di richieste e risposte k-NN
<a name="kNN-inference-formats"></a>

Tutti gli algoritmi integrati di Amazon SageMaker AI aderiscono al formato di inferenza di input comune descritto in Common [Data Formats](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html) - Inference. Questo argomento contiene un elenco dei formati di output disponibili per l'algoritmo AI. SageMaker k-nearest-neighbor

## INPUT: formato della richiesta CSV
<a name="kNN-input-csv"></a>

content-type: text/csv

```
1.2,1.3,9.6,20.3
```

Accetta `label_size` o un parametro di codifica. Presuppone che `label_size` sia 0 e la codifica UTF-8.

## INPUT: formato della richiesta JSON
<a name="kNN-input-json"></a>

content-type: application/json

```
{
  "instances": [
    {"data": {"features": {"values": [-3, -1, -4, 2]}}},
    {"features": [3.0, 0.1, 0.04, 0.002]}]
}
```

## INPUT: formato della richiesta JSONLINES
<a name="kNN-input-jsonlines"></a>

content-type: application/jsonlines

```
{"features": [1.5, 16.0, 14.0, 23.0]}
{"data": {"features": {"values": [1.5, 16.0, 14.0, 23.0]}}
```

## INPUT: formato della richiesta RECORDIO
<a name="kNN-input-recordio"></a>

tipo di contenuto: applicazione/ x-recordio-protobuf

```
[
    Record = {
        features = {
            'values': {
                values: [-3, -1, -4, 2]  # float32
            }
        },
        label = {}
    },
    Record = {
        features = {
            'values': {
                values: [3.0, 0.1, 0.04, 0.002]  # float32
            }
        },
        label = {}
    },
]
```

## OUTPUT: formato della risposta JSON
<a name="kNN-output-json"></a>

accept: application/json

```
{
  "predictions": [
    {"predicted_label": 0.0},
    {"predicted_label": 2.0}
  ]
}
```

## OUTPUT: formato della risposta JSONLINES
<a name="kNN-output-jsonlines"></a>

accept: application/jsonlines

```
{"predicted_label": 0.0}
{"predicted_label": 2.0}
```

## OUTPUT: formato della risposta VERBOSE JSON
<a name="KNN-output-verbose-json"></a>

Nella modalità di output dettagliato, l'API fornisce i risultati della ricerca con il vettore delle distanze ordinato dal più piccolo al più grande con gli elementi corrispondenti nel vettore delle etichette. In questo esempio, k è impostato su 3.

accept: application/json; verbose=true

```
{
  "predictions": [
    {
        "predicted_label": 0.0,
        "distances": [3.11792408, 3.89746071, 6.32548437],
        "labels": [0.0, 1.0, 0.0]
    },
    {
        "predicted_label": 2.0,
        "distances": [1.08470316, 3.04917915, 5.25393973],
        "labels": [2.0, 2.0, 0.0]
    }
  ]
}
```

## OUTPUT: formato della risposta RECORDIO-PROTOBUF
<a name="kNN-output-recordio-protobuf"></a>

tipo di contenuto: applicazione/ x-recordio-protobuf

```
[
    Record = {
        features = {},
        label = {
            'predicted_label': {
                values: [0.0]  # float32
            }
        }
    },
    Record = {
        features = {},
        label = {
            'predicted_label': {
                values: [2.0]  # float32
            }
        }
    }
]
```

## OUTPUT: formato della risposta VERBOSE RECORDIO-PROTOBUF
<a name="kNN-output-verbose-recordio"></a>

Nella modalità di output dettagliato, l'API fornisce i risultati della ricerca con il vettore delle distanze ordinato dal più piccolo al più grande con gli elementi corrispondenti nel vettore delle etichette. In questo esempio, k è impostato su 3.

accetta: applicazione/; verbose=true x-recordio-protobuf

```
[
    Record = {
        features = {},
        label = {
            'predicted_label': {
                values: [0.0]  # float32
            },
            'distances': {
                values: [3.11792408, 3.89746071, 6.32548437]  # float32
            },
            'labels': {
                values: [0.0, 1.0, 0.0]  # float32
            }
        }
    },
    Record = {
        features = {},
        label = {
            'predicted_label': {
                values: [0.0]  # float32
            },
            'distances': {
                values: [1.08470316, 3.04917915, 5.25393973]  # float32
            },
            'labels': {
                values: [2.0, 2.0, 0.0]  # float32
            }
        }
    }
]
```

## OUTPUT DI ESEMPIO per l'algoritmo k-NN
<a name="kNN-sample-output"></a>

Per attività di regressione:

```
[06/08/2018 20:15:33 INFO 140026520049408] #test_score (algo-1) : ('mse', 0.013333333333333334)
```

Per attività di classificazione:

```
[06/08/2018 20:15:46 INFO 140285487171328] #test_score (algo-1) : ('accuracy', 0.98666666666666669)
```