

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Formatos de respuesta y solicitud k-NN
<a name="kNN-inference-formats"></a>

Todos los algoritmos integrados de Amazon SageMaker AI siguen el formato de inferencia de entrada común descrito en [Formatos de datos comunes: inferencia](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html). Este tema contiene una lista de los formatos de salida disponibles para el algoritmo de SageMaker IA k-nearest-neighbor.

## ENTRADA: Formato de solicitud CSV
<a name="kNN-input-csv"></a>

content-type: text/csv

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

Esta acepta un `label_size` o parámetro de codificación. Presupone que `label_size` tiene un valor de 0 y la codificación es UTF-8.

## ENTRADA: Formato de solicitud 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]}]
}
```

## ENTRADA: Formato de solicitud 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]}}
```

## ENTRADA: Formato de solicitud RECORDIO
<a name="kNN-input-recordio"></a>

tipo de contenido: aplicación/ 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 = {}
    },
]
```

## SALIDA: Formato de respuesta JSON
<a name="kNN-output-json"></a>

accept: application/json

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

## SALIDA: Formato de respuesta JSONLINES
<a name="kNN-output-jsonlines"></a>

accept: application/jsonlines

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

## SALIDA: Formato de respuesta VERBOSE JSON
<a name="KNN-output-verbose-json"></a>

En modo de salida detallado, la API proporciona los resultados de búsqueda con el vector de distancias ordenado de menor a mayor, con los elementos correspondientes en el vector de las etiquetas. En este ejemplo, k se fija en 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]
    }
  ]
}
```

## SALIDA: Formato de respuesta RECORDIO-PROTOBUF
<a name="kNN-output-recordio-protobuf"></a>

tipo de contenido: aplicación/ x-recordio-protobuf

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

## SALIDA: Formato de respuesta VERBOSE RECORDIO-PROTOBUF
<a name="kNN-output-verbose-recordio"></a>

En modo de salida detallado, la API proporciona los resultados de búsqueda con el vector de distancias ordenado de menor a mayor, con los elementos correspondientes en el vector de las etiquetas. En este ejemplo, k se fija en 3.

aceptar: aplicación/; 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
            }
        }
    }
]
```

## SALIDA DE MUESTRA para el algoritmo k-NN
<a name="kNN-sample-output"></a>

Para tareas regresor:

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

Para tareas clasificador:

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