

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

# Algoritma K-Means
<a name="k-means"></a>

K-Means adalah algoritma pembelajaran tanpa pengawasan. Ini mencoba untuk menemukan pengelompokan diskrit dalam data, di mana anggota kelompok semirip mungkin satu sama lain dan berbeda mungkin dari anggota kelompok lain. Anda menentukan atribut yang Anda inginkan algoritma untuk digunakan untuk menentukan kesamaan. 

Amazon SageMaker AI menggunakan versi modifikasi dari algoritma pengelompokan k-means skala web. Dibandingkan dengan versi asli algoritme, versi yang digunakan oleh Amazon SageMaker AI lebih akurat. Seperti algoritme asli, algoritme ini menskalakan ke kumpulan data besar dan memberikan peningkatan dalam waktu pelatihan. Untuk melakukan ini, versi yang digunakan oleh Amazon SageMaker AI mengalirkan mini-batch (subset kecil dan acak) dari data pelatihan. Untuk informasi selengkapnya tentang mini-batch k-means, lihat Pengelompokan [k-means skala Web](https://dl.acm.org/doi/10.1145/1772690.1772862).

Algoritma k-mean mengharapkan data tabular, di mana baris mewakili pengamatan yang ingin Anda kelompokkan, dan kolom mewakili atribut pengamatan. Atribut *n* di setiap baris mewakili titik dalam ruang *n* -dimensi. Jarak Euclidean antara titik-titik ini mewakili kesamaan pengamatan yang sesuai. Algoritma mengelompokkan pengamatan dengan nilai atribut yang serupa (titik-titik yang sesuai dengan pengamatan ini lebih dekat satu sama lain). Untuk informasi selengkapnya tentang cara kerja k-means di Amazon SageMaker AI, lihat[Bagaimana K-Means Clustering Bekerja](algo-kmeans-tech-notes.md).

**Topics**
+ [

## Antarmuka Input/Output untuk Algoritma K-Means
](#km-inputoutput)
+ [

## Rekomendasi Instans EC2 untuk Algoritma K-Means
](#km-instances)
+ [

## Notebook Contoh K-Means
](#kmeans-sample-notebooks)
+ [

# Bagaimana K-Means Clustering Bekerja
](algo-kmeans-tech-notes.md)
+ [

# K-Berarti Hyperparameter
](k-means-api-config.md)
+ [

# Menyetel Model K-Means
](k-means-tuning.md)
+ [

# Format Respons K-Means
](km-in-formats.md)

## Antarmuka Input/Output untuk Algoritma K-Means
<a name="km-inputoutput"></a>

Untuk pelatihan, algoritma k-means mengharapkan data disediakan di saluran *kereta* (disarankan`S3DataDistributionType=ShardedByS3Key`), dengan saluran *uji* opsional (disarankan`S3DataDistributionType=FullyReplicated`) untuk menilai data. Keduanya `recordIO-wrapped-protobuf` dan `CSV` format didukung untuk pelatihan. Anda dapat menggunakan mode File atau mode Pipa untuk melatih model pada data yang diformat sebagai `recordIO-wrapped-protobuf` atau sebagai`CSV`.

Untuk inferensi,`text/csv`,`application/json`, dan `application/x-recordio-protobuf` didukung. k-means mengembalikan `closest_cluster` label dan `distance_to_cluster` untuk setiap pengamatan.

Untuk informasi lebih lanjut tentang format file input dan output, lihat [Format Respons K-Means](km-in-formats.md) untuk inferensi dan file. [Notebook Contoh K-Means](#kmeans-sample-notebooks) Algoritma k-means tidak mendukung pembelajaran instance ganda, di mana set pelatihan terdiri dari “tas” berlabel, yang masing-masing merupakan kumpulan instance yang tidak berlabel.

## Rekomendasi Instans EC2 untuk Algoritma K-Means
<a name="km-instances"></a>

Kami merekomendasikan pelatihan k-means pada instance CPU. Anda dapat melatih instans GPU, tetapi harus membatasi pelatihan GPU ke instans GPU tunggal (seperti ml.g4dn.xlarge) karena hanya satu GPU yang digunakan per instance. Algoritma k-means mendukung instance P2, P3, G4dn, dan G5 untuk pelatihan dan inferensi.

## Notebook Contoh K-Means
<a name="kmeans-sample-notebooks"></a>

Untuk contoh notebook yang menggunakan algoritma SageMaker AI K-means untuk mengelompokkan populasi kabupaten di Amerika Serikat berdasarkan atribut yang diidentifikasi menggunakan analisis komponen prinsip, lihat [Menganalisis data sensus AS untuk segmentasi](https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_applying_machine_learning/US-census_population_segmentation_PCA_Kmeans/sagemaker-countycensusclustering.html) populasi menggunakan Amazon AI. SageMaker Untuk petunjuk cara membuat dan mengakses instance notebook Jupyter yang dapat Anda gunakan untuk menjalankan contoh di SageMaker AI, lihat. [Instans SageMaker notebook Amazon](nbi.md) Setelah Anda membuat instance notebook dan membukanya, pilih tab **Contoh SageMaker AI** untuk melihat daftar semua sampel SageMaker AI. Untuk membuka buku catatan, klik tab **Use** dan pilih **Create copy**.

# Bagaimana K-Means Clustering Bekerja
<a name="algo-kmeans-tech-notes"></a>

K-means adalah algoritma yang melatih model yang mengelompokkan objek serupa bersama-sama. Algoritma k-mean menyelesaikan ini dengan memetakan setiap pengamatan dalam dataset input ke suatu titik di ruang *n* -dimensi (di mana *n* adalah jumlah atribut pengamatan). Misalnya, kumpulan data Anda mungkin berisi pengamatan suhu dan kelembaban di lokasi tertentu, yang dipetakan ke titik (*t, h*) dalam ruang 2 dimensi. 



**catatan**  
Algoritma pengelompokan tidak diawasi. Dalam pembelajaran tanpa pengawasan, label yang mungkin terkait dengan objek dalam kumpulan data pelatihan tidak digunakan. Untuk informasi selengkapnya, lihat [Pembelajaran tanpa pengawasan](algorithms-choose.md#algorithms-choose-unsupervised-learning).

Dalam k-means clustering, setiap cluster memiliki pusat. Selama pelatihan model, algoritma k-mean menggunakan jarak titik yang sesuai dengan setiap pengamatan dalam kumpulan data ke pusat cluster sebagai dasar pengelompokan. Anda memilih jumlah cluster (*k*) untuk membuat. 

Misalnya, Anda ingin membuat model untuk mengenali digit tulisan tangan dan Anda memilih kumpulan data MNIST untuk pelatihan. Dataset menyediakan ribuan gambar digit tulisan tangan (0 hingga 9). Dalam contoh ini, Anda dapat memilih untuk membuat 10 cluster, satu untuk setiap digit (0, 1,..., 9). Sebagai bagian dari pelatihan model, algoritma k-means mengelompokkan gambar input ke dalam 10 cluster.

Setiap gambar dalam kumpulan data MNIST adalah gambar 28x28 piksel, dengan total 784 piksel. Setiap gambar sesuai dengan titik dalam ruang 784 dimensi, mirip dengan titik dalam ruang 2 dimensi (x, y). Untuk menemukan kluster di mana suatu titik berada, algoritma k-means menemukan jarak titik itu dari semua pusat cluster. Kemudian memilih cluster dengan pusat terdekat sebagai cluster tempat gambar berada. 

**catatan**  
Amazon SageMaker AI menggunakan versi algoritma yang disesuaikan di mana, alih-alih menentukan bahwa algoritme membuat kluster *k*, Anda dapat memilih untuk meningkatkan akurasi model dengan menentukan pusat cluster tambahan *(K =* k\$1 x). Namun, algoritma pada akhirnya mengurangi ini menjadi kluster *k*.

Di SageMaker AI, Anda menentukan jumlah cluster saat membuat pekerjaan pelatihan. Untuk informasi selengkapnya, lihat [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html). Di badan permintaan, Anda menambahkan peta `HyperParameters` string untuk menentukan `k` dan `extra_center_factor` string.

Berikut ini adalah ringkasan cara kerja k-means untuk pelatihan model di SageMaker AI:

1. Ini menentukan pusat cluster *K* awal. 
**catatan**  
Dalam topik berikut, kluster *K* *mengacu pada k\$1 x*, di mana Anda menentukan *k* dan *x* saat membuat pekerjaan pelatihan model. 

1. Ini mengulangi data pelatihan input dan menghitung ulang pusat cluster.

1. Ini mengurangi cluster yang dihasilkan menjadi *k* (jika ilmuwan data menentukan pembuatan *k\$1x* cluster dalam permintaan). 

Bagian berikut juga menjelaskan beberapa parameter yang mungkin ditentukan oleh ilmuwan data untuk mengonfigurasi pekerjaan pelatihan model sebagai bagian dari peta `HyperParameters` string. 

**Topics**
+ [

## Langkah 1: Tentukan Pusat Cluster Awal
](#kmeans-step1)
+ [

## Langkah 2: Ulangi Dataset Pelatihan dan Hitung Pusat Cluster
](#kmeans-step2)
+ [

## *Langkah 3: Kurangi Cluster dari *K ke K**
](#kmeans-step3)

## Langkah 1: Tentukan Pusat Cluster Awal
<a name="kmeans-step1"></a>

Saat menggunakan k-mean dalam SageMaker AI, pusat cluster awal dipilih dari pengamatan dalam batch kecil sampel acak. Pilih salah satu strategi berikut untuk menentukan bagaimana pusat klaster awal ini dipilih:
+ Pendekatan acak—Pilih pengamatan *K* secara acak dalam kumpulan data input Anda sebagai pusat cluster. Misalnya, Anda dapat memilih pusat cluster yang menunjuk ke ruang 784 dimensi yang sesuai dengan 10 gambar dalam kumpulan data pelatihan MNIST.
+ Pendekatan k-means\$1\$1, yang berfungsi sebagai berikut: 

  1. Mulailah dengan satu cluster dan tentukan pusatnya. Anda secara acak memilih observasi dari dataset pelatihan Anda dan menggunakan titik yang sesuai dengan pengamatan sebagai pusat cluster. Misalnya, dalam kumpulan data MNIST, pilih gambar digit tulisan tangan secara acak. Kemudian pilih titik dalam ruang 784 dimensi yang sesuai dengan gambar sebagai pusat cluster Anda. Ini adalah cluster center 1.

  1. Tentukan pusat untuk cluster 2. Dari pengamatan yang tersisa dalam dataset pelatihan, pilih pengamatan secara acak. Pilih salah satu yang berbeda dari yang Anda pilih sebelumnya. Pengamatan ini sesuai dengan titik yang jauh dari pusat cluster 1. Menggunakan dataset MNIST sebagai contoh, Anda melakukan hal berikut:
     + Untuk setiap gambar yang tersisa, cari jarak titik yang sesuai dari pusat cluster 1. Kuadratkan jarak dan tetapkan probabilitas yang sebanding dengan kuadrat jarak. Dengan begitu, gambar yang berbeda dari yang Anda pilih sebelumnya memiliki probabilitas lebih tinggi untuk dipilih sebagai pusat cluster 2. 
     + Pilih salah satu gambar secara acak, berdasarkan probabilitas yang ditetapkan pada langkah sebelumnya. Titik yang sesuai dengan gambar adalah pusat cluster 2.

  1. Ulangi Langkah 2 untuk menemukan pusat cluster 3. Kali ini, cari jarak gambar yang tersisa dari pusat cluster 2.

  1. Ulangi proses ini sampai Anda memiliki pusat cluster *K*.

Untuk melatih model dalam SageMaker AI, Anda membuat pekerjaan pelatihan. Dalam permintaan, Anda memberikan informasi konfigurasi dengan menentukan peta `HyperParameters` string berikut:
+ Untuk menentukan jumlah cluster yang akan dibuat, tambahkan `k` string.
+ Untuk akurasi yang lebih besar, tambahkan `extra_center_factor` string opsional. 
+ Untuk menentukan strategi yang ingin Anda gunakan untuk menentukan pusat cluster awal, tambahkan `init_method` string dan atur nilainya ke `random` atau`k-means++`.

Untuk informasi selengkapnya tentang estimator SageMaker AI k-means, lihat [K-means](https://sagemaker.readthedocs.io/en/stable/algorithms/unsupervised/kmeans.html) dalam dokumentasi Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable) SDK.

Anda sekarang memiliki satu set awal pusat cluster. 

## Langkah 2: Ulangi Dataset Pelatihan dan Hitung Pusat Cluster
<a name="kmeans-step2"></a>

Pusat cluster yang Anda buat pada langkah sebelumnya sebagian besar acak, dengan beberapa pertimbangan untuk dataset pelatihan. Pada langkah ini, Anda menggunakan kumpulan data pelatihan untuk memindahkan pusat-pusat ini menuju pusat cluster yang sebenarnya. *Algoritma mengulangi dataset pelatihan, dan menghitung ulang pusat cluster K.*

1. Baca sejumlah kecil pengamatan (subset kecil yang dipilih secara acak dari semua catatan) dari kumpulan data pelatihan dan lakukan hal berikut. 
**catatan**  
Saat membuat pekerjaan pelatihan model, Anda menentukan ukuran batch dalam `mini_batch_size` string di peta `HyperParameters` string. 

   1. Tetapkan semua pengamatan dalam batch mini ke salah satu cluster dengan pusat cluster terdekat.

   1. Hitung jumlah pengamatan yang ditugaskan untuk setiap cluster. Kemudian, hitung proporsi poin baru yang ditetapkan per cluster.

      Misalnya, pertimbangkan cluster berikut:

      Cluster c1 = 100 poin yang ditetapkan sebelumnya. Anda menambahkan 25 poin dari mini-batch di langkah ini.

      Cluster c2 = 150 poin yang ditetapkan sebelumnya. Anda menambahkan 40 poin dari mini-batch di langkah ini.

      Cluster c3 = 450 poin yang ditetapkan sebelumnya. Anda menambahkan 5 poin dari mini-batch di langkah ini.

      Hitung proporsi poin baru yang ditetapkan untuk masing-masing cluster sebagai berikut:

      ```
      p1 = proportion of points assigned to c1 = 25/(100+25)
      p2 = proportion of points assigned to c2 = 40/(150+40)
      p3 = proportion of points assigned to c3 = 5/(450+5)
      ```

   1. Hitung pusat poin baru yang ditambahkan ke setiap cluster:

      ```
      d1 = center of the new points added to cluster 1
      d2 = center of the new points added to cluster 2
      d3 = center of the new points added to cluster 3
      ```

   1. Hitung rata-rata tertimbang untuk menemukan pusat cluster yang diperbarui sebagai berikut:

      ```
      Center of cluster 1 = ((1 - p1) * center of cluster 1) + (p1 * d1)
      Center of cluster 2 = ((1 - p2) * center of cluster 2) + (p2 * d2)
      Center of cluster 3 = ((1 - p3) * center of cluster 3) + (p3 * d3)
      ```

1. Baca mini-batch berikutnya, dan ulangi Langkah 1 untuk menghitung ulang pusat cluster. 

1. Untuk informasi lebih lanjut tentang mini-batch *k* -means, lihat Pengelompokan [k-means skala Web)](https://citeseerx.ist.psu.edu/document?repid=rep1type=pdf&doi=b452a856a3e3d4d37b1de837996aa6813bedfdcf).

## *Langkah 3: Kurangi Cluster dari *K ke K**
<a name="kmeans-step3"></a>

*Jika algoritma membuat kluster *K* — *(K = k\$1x) di mana *x** lebih besar dari 1—maka itu mengurangi kluster K menjadi kluster *k*.* (Untuk informasi lebih lanjut, lihat `extra_center_factor` pada diskusi sebelumnya.) *Ini dilakukan dengan menerapkan metode Lloyd dengan `kmeans++` inisialisasi ke pusat cluster K.* [Untuk informasi lebih lanjut tentang metode Lloyd, lihat k-means clustering.](https://pdfs.semanticscholar.org/0074/4cb7cc9ccbbcdadbd5ff2f2fee6358427271.pdf) 

# K-Berarti Hyperparameter
<a name="k-means-api-config"></a>

Dalam [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateTrainingJob.html)permintaan, Anda menentukan algoritma pelatihan yang ingin Anda gunakan. Anda juga dapat menentukan hyperparameter khusus algoritme sebagai peta. string-to-string Tabel berikut mencantumkan hyperparameters untuk algoritma pelatihan k-means yang disediakan oleh Amazon SageMaker AI. Untuk informasi lebih lanjut tentang cara kerja k-means clustering, lihat. [Bagaimana K-Means Clustering Bekerja](algo-kmeans-tech-notes.md)


| Nama Parameter | Deskripsi | 
| --- | --- | 
| feature\$1dim | Jumlah fitur dalam data input. **Diperlukan** Nilai yang valid: Bilangan bulat positif  | 
| k |  Jumlah cluster yang dibutuhkan. **Diperlukan** Nilai yang valid: Bilangan bulat positif  | 
| epochs | Jumlah pass yang dilakukan atas data pelatihan. **Opsional** Nilai yang valid: Bilangan bulat positif Nilai default: 1  | 
| eval\$1metrics | Daftar tipe metrik JSON yang digunakan untuk melaporkan skor untuk model. Nilai yang diizinkan adalah `msd` untuk Means Square Deviation dan `ssd` untuk Sum of Square Distance. Jika data pengujian disediakan, skor dilaporkan untuk setiap metrik yang diminta. **Opsional** Nilai yang valid: Entah `[\"msd\"]` atau `[\"ssd\"]` atau`[\"msd\",\"ssd\"]`. Nilai default: `[\"msd\"]`  | 
| extra\$1center\$1factor | Algoritma membuat K center = `num_clusters` \$1 `extra_center_factor` saat berjalan dan mengurangi jumlah pusat dari K hingga `k` saat menyelesaikan model. **Opsional** Nilai yang valid: Entah bilangan bulat positif atau`auto`. Nilai default: `auto`  | 
| half\$1life\$1time\$1size | Digunakan untuk menentukan bobot yang diberikan untuk pengamatan saat menghitung rata-rata cluster. Bobot ini meluruh secara eksponensial karena lebih banyak titik diamati. Ketika suatu titik pertama kali diamati, itu diberi bobot 1 saat menghitung rata-rata cluster. Konstanta peluruhan untuk fungsi peluruhan eksponensial dipilih sehingga setelah `half_life_time_size` titik pengamatan, beratnya adalah 1/2. Jika disetel ke 0, tidak ada pembusukan. **Opsional** Nilai yang valid: Bilangan bulat non-negatif Nilai default: 0  | 
| init\$1method | Metode dimana algoritma memilih pusat cluster awal. Pendekatan k-means standar memilihnya secara acak. Metode alternatif k-means\$1\$1 memilih pusat cluster pertama secara acak. Kemudian menyebar posisi cluster awal yang tersisa dengan menimbang pemilihan pusat dengan distribusi probabilitas yang sebanding dengan kuadrat jarak titik data yang tersisa dari pusat yang ada. **Opsional** Nilai yang valid: Entah `random` atau`kmeans++`. Nilai default: `random`  | 
| local\$1lloyd\$1init\$1method | Metode inisialisasi untuk prosedur ekspektasi-maksimisasi (EM) Lloyd digunakan untuk membangun model akhir yang berisi pusat. `k` **Opsional** Nilai yang valid: Entah `random` atau`kmeans++`. Nilai default: `kmeans++`  | 
| local\$1lloyd\$1max\$1iter | Jumlah maksimum iterasi untuk prosedur ekspektasi-maksimalisasi (EM) Lloyd yang digunakan untuk membangun model akhir yang berisi pusat. `k` **Opsional** Nilai yang valid: Bilangan bulat positif Nilai default: 300  | 
| local\$1lloyd\$1num\$1trials | Berapa kali prosedur ekspektasi-maksimisasi (EM) Lloyd dengan kerugian paling sedikit dijalankan saat membangun model akhir yang berisi pusat. `k` **Opsional** Nilai yang valid: Entah bilangan bulat positif atau`auto`. Nilai default: `auto`  | 
| local\$1lloyd\$1tol | Toleransi untuk perubahan kerugian untuk penghentian awal prosedur maksimalisasi ekspektasi (EM) Lloyd yang digunakan untuk membangun model akhir yang berisi pusat. `k` **Opsional** Nilai yang valid: Float. Rentang dalam [0, 1]. Nilai default: 0,0001  | 
| mini\$1batch\$1size | Jumlah pengamatan per mini-batch untuk iterator data. **Opsional** Nilai yang valid: Bilangan bulat positif Nilai default: 5000  | 

# Menyetel Model K-Means
<a name="k-means-tuning"></a>

*Penyetelan model otomatis*, juga dikenal sebagai tuning hyperparameter, menemukan versi terbaik dari model dengan menjalankan banyak pekerjaan yang menguji berbagai hiperparameter pada kumpulan data Anda. Anda memilih hyperparameters yang dapat disetel, rentang nilai untuk masing-masing, dan metrik objektif. Anda memilih metrik objektif dari metrik yang dihitung algoritme. Penyetelan model otomatis mencari hiperparameter yang dipilih untuk menemukan kombinasi nilai yang menghasilkan model yang mengoptimalkan metrik objektif.

Algoritma Amazon SageMaker AI k-means adalah algoritma tanpa pengawasan yang mengelompokkan data ke dalam cluster yang anggotanya semirip mungkin. Karena tidak diawasi, ia tidak menggunakan kumpulan data validasi yang dapat dioptimalkan oleh hiperparameter. Tetapi dibutuhkan kumpulan data pengujian dan memancarkan metrik yang bergantung pada jarak kuadrat antara titik data dan centroid cluster terakhir di akhir setiap latihan. Untuk menemukan model yang melaporkan cluster terketat pada kumpulan data pengujian, Anda dapat menggunakan pekerjaan penyetelan hiperparameter. Cluster mengoptimalkan kesamaan anggotanya.

Untuk informasi lebih lanjut tentang penyetelan model, lihat[Penyetelan model otomatis dengan AI SageMaker](automatic-model-tuning.md).

## Metrik yang Dihitung oleh Algoritma K-Means
<a name="km-metrics"></a>

Algoritma k-means menghitung metrik berikut selama pelatihan. Saat menyetel model, pilih salah satu metrik ini sebagai metrik objektif. 


| Nama Metrik | Deskripsi | Arah Optimasi | 
| --- | --- | --- | 
| test:msd | Jarak kuadrat rata-rata antara setiap catatan dalam set uji dan pusat terdekat model. | Minimalkan | 
| test:ssd | Jumlah jarak kuadrat antara setiap catatan dalam set uji dan pusat terdekat model. | Minimalkan | 



## Hiperparameter K-Means yang Dapat Disetel
<a name="km-tunable-hyperparameters"></a>

Setel model Amazon SageMaker AI k-means dengan hyperparameter berikut. Hiperparameter yang memiliki dampak terbesar pada metrik objektif k-means adalah:`mini_batch_size`,, `extra_center_factor` dan. `init_method` Menyetel hyperparameter `epochs` umumnya menghasilkan perbaikan kecil.


| Nama Parameter | Jenis Parameter | Rentang yang Direkomendasikan | 
| --- | --- | --- | 
| epochs | IntegerParameterRanges | MinValue: 1 MaxValue ,:10 | 
| extra\$1center\$1factor | IntegerParameterRanges | MinValue: 4 MaxValue ,:10 | 
| init\$1method | CategoricalParameterRanges | ['kmeans\$1\$1', 'acak'] | 
| mini\$1batch\$1size | IntegerParameterRanges | MinValue: 3000 MaxValue ,:15000 | 

# Format Respons K-Means
<a name="km-in-formats"></a>

Semua algoritme bawaan SageMaker AI mematuhi format inferensi input umum yang dijelaskan dalam [Format Data Umum -](https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-inference.html) Inferensi. Topik ini berisi daftar format keluaran yang tersedia untuk algoritma SageMaker AI k-means.

## Format Respons JSON
<a name="km-json"></a>

```
{
    "predictions": [
        {
            "closest_cluster": 1.0,
            "distance_to_cluster": 3.0,
        },
        {
            "closest_cluster": 2.0,
            "distance_to_cluster": 5.0,
        },

        ....
    ]
}
```

## Format Respons JSONLINES
<a name="km-jsonlines"></a>

```
{"closest_cluster": 1.0, "distance_to_cluster": 3.0}
{"closest_cluster": 2.0, "distance_to_cluster": 5.0}
```

## Format Respons RECORDIO
<a name="km-recordio"></a>

```
[
    Record = {
        features = {},
        label = {
            'closest_cluster': {
                keys: [],
                values: [1.0, 2.0]  # float32
            },
            'distance_to_cluster': {
                keys: [],
                values: [3.0, 5.0]  # float32
            },
        }
    }
]
```

## Format Respons CSV
<a name="km-csv"></a>

Nilai pertama di setiap baris sesuai dengan`closest_cluster`.

Nilai kedua di setiap baris sesuai dengan`distance_to_cluster`.

```
1.0,3.0
2.0,5.0
```