全部产品
Search
文档中心

Platform For AI:K-NN

更新时间:Jul 02, 2025

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

  1. 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;
  2. 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;
  3. Lihat hasil pelatihan. ResultHasilnya 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.