Algoritma K-Nearest Neighbors (k-NN) - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Algoritma K-Nearest Neighbors (k-NN)

Algoritma Amazon SageMaker k-Nearest Neighbors (K-NN) adalah algoritma berbasis indeks. Ini menggunakan metode non-parametrik untuk klasifikasi atau regresi. Untuk masalah klasifikasi, algoritme menanyakan titik k yang paling dekat dengan titik sampel dan mengembalikan label kelas yang paling sering digunakan sebagai label yang diprediksi. Untuk masalah regresi, algoritme menanyakan k titik terdekat ke titik sampel dan mengembalikan rata-rata nilai fitur mereka sebagai nilai prediksi.

Pelatihan dengan algoritma K-NN memiliki tiga langkah: pengambilan sampel, pengurangan dimensi, dan pembangunan indeks. Pengambilan sampel mengurangi ukuran dataset awal sehingga cocok dengan memori. Untuk pengurangan dimensi, algoritme mengurangi dimensi fitur data untuk mengurangi jejak model k-NN dalam memori dan latensi inferensi. Kami menyediakan dua metode metode reduksi dimensi: proyeksi acak dan transformasi Johnson-Lindenstrauss yang cepat. Biasanya, Anda menggunakan reduksi dimensi untuk kumpulan data dimensi tinggi (d >1000) untuk menghindari “kutukan dimensi” yang mengganggu analisis statistik data yang menjadi jarang seiring bertambahnya dimensi. Tujuan utama pelatihan K-NN adalah untuk membangun indeks. Indeks memungkinkan pencarian jarak yang efisien antara titik-titik yang nilai atau label kelasnya belum ditentukan dan k titik terdekat untuk digunakan untuk inferensi.

Antarmuka Input/Output untuk Algoritma K-nN

SageMaker K-nn mendukung saluran data kereta dan uji.

  • Gunakan saluran kereta untuk data yang ingin Anda sampel dan bangun ke dalam indeks k-NN.

  • Gunakan saluran uji untuk memancarkan skor dalam file log. Skor terdaftar sebagai satu baris per batch mini: akurasi untukclassifier, kesalahan kuadrat rata-rata (mse) untuk skor. regressor

Untuk input pelatihan, K-NN mendukung text/csv dan application/x-recordio-protobuf format data. Untuk jenis inputtext/csv, label_size kolom pertama ditafsirkan sebagai vektor label untuk baris itu. Anda dapat menggunakan mode File atau mode Pipa untuk melatih model pada data yang diformat sebagai recordIO-wrapped-protobuf atau sebagaiCSV.

Untuk input inferensi, k-NN mendukung formatapplication/json,application/x-recordio-protobuf, dan data. text/csv text/csvFormat menerima parameter label_size dan encoding. Ini mengasumsikan 0 dan label_size pengkodean UTF-8.

Untuk output inferensi, k-NN mendukung format dan data. application/json application/x-recordio-protobuf Kedua format data ini juga mendukung mode keluaran verbose. Dalam mode keluaran verbose, API menyediakan hasil pencarian dengan vektor jarak yang diurutkan dari terkecil hingga terbesar, dan elemen yang sesuai dalam vektor label.

Untuk transformasi batch, k-NN mendukung format application/jsonlines data untuk input dan output. Contoh masukan adalah sebagai berikut:

content-type: application/jsonlines {"features": [1.5, 16.0, 14.0, 23.0]} {"data": {"features": {"values": [1.5, 16.0, 14.0, 23.0]}}

Contoh output adalah sebagai berikut:

accept: application/jsonlines {"predicted_label": 0.0} {"predicted_label": 2.0}

Untuk informasi lebih lanjut tentang format file input dan output, lihat Format Data untuk Input Pelatihan K-nn untuk pelatihan, Format Permintaan dan Respons K-nn untuk inferensi, dan file. K-nn Contoh Notebook

K-nn Contoh Notebook

Untuk contoh buku catatan yang menggunakan algoritma SageMaker k-terdekat tetangga untuk memprediksi jenis tutupan hutan belantara dari data geologi dan dinas kehutanan, lihat K-Nearest Neighbor Covertype.

Gunakan instance notebook Jupyter untuk menjalankan contoh di. SageMaker Untuk mempelajari cara membuat dan membuka instance notebook Jupyter di SageMaker, lihat. Instans SageMaker Notebook Amazon Setelah Anda membuat instance notebook dan membukanya, pilih tab SageMaker Contoh untuk melihat daftar semua SageMaker contoh buku catatan. Temukan buku catatan K-Nearest Neighbor di bagian Pengantar Algoritma Amazon. Untuk membuka buku catatan, klik tab Use dan pilih Create copy.

Rekomendasi Instans EC2 untuk Algoritma k-NN

Kami merekomendasikan pelatihan pada instance CPU (seperti ml.m5.2xlarge) atau pada instance GPU. Algoritma K-nN mendukung keluarga instance GPU P2, P3, G4dn, dan G5 untuk pelatihan dan inferensi.

Permintaan inferensi dari CPU umumnya memiliki latensi rata-rata yang lebih rendah daripada permintaan dari GPU karena ada pajak pada komunikasi CPU-ke-GPU saat Anda menggunakan perangkat keras GPU. Namun, GPU umumnya memiliki throughput yang lebih tinggi untuk batch yang lebih besar.