Komponen K-NN memilih K-record terdekat dari sebuah baris dalam tabel prediksi untuk Klasifikasi. Kelas yang paling umum dari K-record terdekat digunakan sebagai kelas dari baris tersebut.
Konfigurasi Komponen
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen K-NN:
Metode 1: Konfigurasikan komponen pada halaman pipeline
Anda dapat mengonfigurasi parameter komponen K-NN pada halaman pipeline Machine Learning Designer dari Platform for AI (PAI). Machine Learning Designer sebelumnya dikenal sebagai Machine Learning Studio. Tabel berikut menjelaskan parameter-parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Feature Columns in the Training Table | Kolom fitur yang digunakan untuk pelatihan. |
Specifies the label column in the training table | Kolom label yang dipilih untuk pelatihan. | |
Feature Columns in the Prediction Table | Jika parameter ini tidak ditentukan, kolom fitur yang dipilih dari tabel prediksi sama dengan kolom fitur dalam tabel pelatihan. | |
Append ID Column to Output Table | Kolom ID yang digunakan untuk mendapatkan nilai prediksi dari sebuah kolom. Secara default, kolom fitur yang dipilih dari tabel prediksi digunakan sebagai kolom ID. | |
Input in Sparse Format | Tentukan apakah data masukan dalam format sparse. Jika Anda memilih kotak centang, data masukan dalam format key-value. | |
KV Pair Delimiter | Pemisah yang digunakan untuk memisahkan pasangan key-value. Secara default, koma (,) digunakan. | |
Key and Value Delimiter | Pemisah yang digunakan untuk memisahkan key dan value. Secara default, titik dua (:) digunakan. | |
Parameters Setting | Number of Neighbors | Nilai default: 100. |
Tuning | Number of Cores | Jumlah core. Secara default, sistem menentukan nilainya. |
Memory Size | Ukuran memori setiap core. Secara default, sistem menentukan nilainya. |
Metode 2: Gunakan perintah PAI
Konfigurasikan parameter komponen dengan menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.
PAI -name knn
-DtrainTableName=pai_knn_test_input
-DtrainFeatureColNames=f0,f1
-DtrainLabelColName=class
-DpredictTableName=pai_knn_test_input
-DpredictFeatureColNames=f0,f1
-DoutputTableName=pai_knn_test_output
-Dk=2;Parameter | Diperlukan | Deskripsi | Nilai Default |
trainTableName | Ya | Nama tabel pelatihan. | N/A |
trainFeatureColNames | Ya | Nama kolom fitur dalam tabel pelatihan. | N/A |
trainLabelColName | Ya | Nama kolom label dalam tabel pelatihan. | N/A |
trainTablePartitions | Tidak | Partisi yang dipilih dari tabel pelatihan untuk pelatihan. | Semua partisi |
predictTableName | Ya | Nama tabel prediksi. | N/A |
outputTableName | Ya | Nama tabel output. | N/A |
predictFeatureColNames | Tidak | Nama kolom fitur dalam tabel prediksi. | Sama dengan nilai parameter trainFeatureColNames |
predictTablePartitions | Tidak | Partisi yang dipilih dari tabel prediksi untuk prediksi. | Semua partisi |
appendColNames | Tidak | Nama kolom yang ditambahkan ke tabel output. | Sama dengan nilai parameter predictFeatureColNames |
outputTablePartition | Tidak | Partisi dalam tabel output. | Tabel lengkap |
k | Tidak | Jumlah tetangga terdekat K. Nilai valid: 1 hingga 1000. | 100 |
enableSparse | Tidak | Tentukan apakah data dalam tabel input dalam format sparse. Nilai valid: true and false. | false |
itemDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan pasangan key-value. | , |
kvDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan key dan value dalam pasangan key-value. | : |
coreNum | Tidak | Jumlah core. Parameter ini harus digunakan bersama dengan parameter memSizePerCore. Nilai valid: 1 hingga 20000. | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori setiap core. Nilai valid: 1024 hingga 64 x 1024. Unit: MB. | Ditentukan oleh sistem |
lifecycle | Tidak | Lifecycle tabel output. | N/A |
Contoh
Hasilkan data pelatihan.
create table pai_knn_test_input as select * from ( select 1 as f0,2 as f1, 'good' as class union all select 1 as f0,3 as f1, 'good' as class union all select 1 as f0,4 as f1, 'bad' as class union all select 0 as f0,3 as f1, 'good' as class union all select 0 as f0,4 as f1, 'bad' as class )tmp;Jalankan perintah PAI berikut untuk mengirimkan parameter komponen K-NN:
pai -name knn -DtrainTableName=pai_knn_test_input -DtrainFeatureColNames=f0,f1 -DtrainLabelColName=class -DpredictTableName=pai_knn_test_input -DpredictFeatureColNames=f0,f1 -DoutputTableName=pai_knn_test_output -Dk=2;Lihat hasil pelatihan.
Hasilnya mencakup kolom-kolom berikut:f0 dan f1: kolom-kolom yang ditambahkan.
prediction_result: mencantumkan hasil klasifikasi.
prediction_score: mencantumkan probabilitas untuk hasil klasifikasi.
prediction_detail: Menampilkan kelas dari K-tetangga terdekat beserta probabilitasnya.