k-NN 요청 및 응답 형식 - Amazon SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

k-NN 요청 및 응답 형식

모든 Amazon SageMaker 기본 제공 알고리즘은 공통 데이터 형식 - 추론 에 설명된 공통 입력 추론 형식을 준수합니다. 이 주제에는 SageMaker k-nearest-neighbor 알고리즘에 사용할 수 있는 출력 형식 목록이 포함되어 있습니다.

INPUT: CSV 요청 형식

content-type: text/csv

1.2,1.3,9.6,20.3

label_size 또는 인코딩 파라미터를 수용합니다. 0의 label_size와 utf-8 인코딩을 가정합니다.

INPUT: JSON 요청 형식

content-type: application/json

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

INPUT: JSONLINES 요청 형식

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: RECORDIO 요청 형식

콘텐츠 유형: 애플리케이션/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: JSON 응답 형식

accept: application/json

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

OUTPUT: JSONLINES 응답 형식

accept: application/jsonlines

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

OUTPUT: VERBOSE JSON 응답 형식

세부 정보 모드에서 는 검색 결과에 가장 작은 것부터 가장 큰 것까지 정렬된 거리 벡터와 레이블 벡터의 해당 요소를 API 제공합니다. 이 예에서는 k가 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: RECORDIO-PROTOBUF 응답 형식

콘텐츠 유형: 애플리케이션/x-recordio-protobuf

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

OUTPUT: VERBOSE RECORDIO-PROTOBUF 응답 형식

세부 정보 모드에서 는 검색 결과에 가장 작은 것부터 가장 큰 것까지 정렬된 거리 벡터와 레이블 벡터의 해당 요소를 API 제공합니다. 이 예에서는 k가 3으로 설정되어 있습니다.

수락: 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 } } } ]

SAMPLE OUTPUT k-NN 알고리즘의 경우

regressor 작업의 경우:

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

classifier 작업의 경우:

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