

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Formats de demande et de réponse k-NN
<a name="kNN-inference-formats"></a>

Tous les algorithmes intégrés d'Amazon SageMaker AI respectent le format d'inférence d'entrée commun décrit dans [Common Data Formats - Inference](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html). Cette rubrique contient une liste des formats de sortie disponibles pour l' k-nearest-neighboralgorithme SageMaker AI.

## ENTRÉE : format de demande CSV
<a name="kNN-input-csv"></a>

content-type: text/csv

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

Accepte un `label_size` ou un paramètre d'encodage. Il suppose un champ `label_size` égal à 0 et un encodage UTF-8.

## ENTRÉE : format de demande 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]}]
}
```

## ENTRÉE : format de demande 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]}}
```

## ENTRÉE : format de demande RECORDIO
<a name="kNN-input-recordio"></a>

type de contenu : application/ 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 = {}
    },
]
```

## SORTIE : format de réponse JSON
<a name="kNN-output-json"></a>

accept: application/json

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

## SORTIE : format de réponse JSONLINES
<a name="kNN-output-jsonlines"></a>

accept: application/jsonlines

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

## SORTIE : format de réponse VERBOSE JSON
<a name="KNN-output-verbose-json"></a>

En mode détaillé, l'API fournit les résultats de recherche avec le vecteur des distances triées de la plus petite à la plus grande, et les éléments correspondants dans le vecteur des étiquettes. Dans cet exemple, k a la valeur 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]
    }
  ]
}
```

## SORTIE : format de réponse RECORDIO-PROTOBUF
<a name="kNN-output-recordio-protobuf"></a>

type de contenu : application/ x-recordio-protobuf

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

## SORTIE : format de réponse VERBOSE RECORDIO-PROTOBUF
<a name="kNN-output-verbose-recordio"></a>

En mode détaillé, l'API fournit les résultats de recherche avec le vecteur des distances triées de la plus petite à la plus grande, et les éléments correspondants dans le vecteur des étiquettes. Dans cet exemple, k a la valeur 3.

accepter : application/ x-recordio-protobuf ; verbose=true

```
[
    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
            }
        }
    }
]
```

## EXEMPLE DE SORTIE pour l'algorithme k-NN
<a name="kNN-sample-output"></a>

Pour les tâches regressor :

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

Pour les tâches classifier :

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