Berbagi teknologi

Panduan Pembelajaran AI Pembelajaran Mesin - Pelatihan dan Prediksi Model K-means Clustering

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Panduan Pembelajaran AI Pembelajaran Mesin - Pelatihan dan Prediksi Model K-means Clustering

Kecerdasan buatan (AI) adalah salah satu topik terpanas di dunia saat ini, dan hal ini mengubah cara kita hidup dan bekerja. Sebagai salah satu cabang penting AI, pembelajaran mesin telah menunjukkan potensi dan nilai besar di berbagai bidang. Dalam pembelajaran mesin, pengelompokan adalah algoritma yang penting, dan pengelompokan K-means adalah salah satu metode klasik. Di blog ini, kami akan memperkenalkan proses pelatihan dan proses prediksi model pengelompokan K-means secara detail, dan memberikan contoh untuk mengilustrasikan cara menggunakan pengelompokan K-means untuk melakukan analisis klaster pada data.

Model pengelompokan K-means

Pengelompokan K-means adalah algoritma pembelajaran tanpa pengawasan yang membagi sampel dalam kumpulan data menjadi K cluster untuk membuat jarak antar sampel dalam cluster yang sama sekecil mungkin dan jarak antar cluster yang berbeda menjadi sebesar mungkin. Dalam clustering K-means, setiap cluster diwakili oleh sebuah centroid, dan clustering dilakukan secara iteratif dengan meminimalkan jarak antara sampel dalam cluster dan centroid.

Proses pengelompokan K-means secara garis besar dapat dibagi menjadi beberapa langkah berikut:

  1. Pilih K titik pusat awal
  2. Tetapkan setiap sampel ke cluster dengan titik pusat terdekat
  3. Perbarui pusat massa setiap cluster
  4. Ulangi langkah 2 dan 3 hingga alokasi cluster tidak lagi berubah atau batas atas jumlah iterasi tercapai.

Proses prediksi model clustering K-means adalah dengan menetapkan sampel baru ke cluster dengan centroid terdekat.

Proses pelatihan model clustering K-means

Pada bagian ini, kami akan memperkenalkan proses pelatihan model pengelompokan K-means secara detail. Untuk memudahkan penjelasan, kami akan menggunakan perpustakaan scikit-learn Python untuk demonstrasi.

Pertama, kita perlu mengimpor perpustakaan yang relevan:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
  • 1
  • 2
  • 3
  • 4

Selanjutnya, kami membuat beberapa data simulasi untuk didemonstrasikan:

X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
  • 1

Kita kemudian dapat menggunakan model pengelompokan K-means untuk melatih data:

kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
  • 1
  • 2

Terakhir, kita dapat memvisualisasikan hasil pelatihan, serta pusat massa cluster:

plt.scatter(X[:, 0], X[:, 1], s=50, c="lightblue", marker="o", edgecolor="black")
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=250, marker="*", c="red", edgecolor="black")
plt.show()
  • 1
  • 2
  • 3

Melalui langkah-langkah di atas, kami telah menyelesaikan proses pelatihan model clustering K-means, dan juga memperoleh gambaran visual dari hasil pelatihan.

Proses prediksi model clustering K-means

Selanjutnya, mari kita perkenalkan proses prediksi model pengelompokan K-means. Pada model clustering K-means, proses prediksinya adalah dengan menetapkan sampel baru ke cluster dengan centroid terdekat.

Pertama, kita dapat menggunakan model pengelompokan K-means terlatih untuk memprediksi sampel baru:

new_samples = np.array([[0, 0], [4, 4]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

Pada kode di atas, kita membuat dua sampel baru[0, 0]Dan[4, 4], dan gunakanpredict metode untuk memprediksinya. Terakhir, kami mendapatkan prediksi label cluster untuk sampel baru.

Contoh

Untuk memahami proses pelatihan dan prediksi model pengelompokan K-means secara lebih intuitif, kami akan mengilustrasikannya dengan contoh spesifik.

Misalkan kita memiliki kumpulan data dengan tiga fiturX , kami ingin membaginya menjadi 3 cluster. Pertama, kita bisa melatih data menggunakan model pengelompokan K-means:

kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
  • 1
  • 2

Selanjutnya, kami menerapkan model terlatih ke sampel baru:

new_samples = np.array([[1, 1, 1], [2, 2, 2]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

Melalui contoh di atas, kita dapat melihat dengan jelas proses pelatihan dan prediksi model clustering K-means.

Meringkaskan

Melalui pengenalan blog ini, kami memiliki pemahaman mendetail tentang proses pelatihan dan proses prediksi model pengelompokan K-means, dan mendemonstrasikan melalui contoh cara menggunakan pustaka scikit-learn Python untuk melakukan pengelompokan K-means. K-means clustering adalah algoritma clustering sederhana dan efisien yang dapat diterapkan di berbagai bidang, termasuk analisis data, pemrosesan gambar, dll. Saya harap blog ini akan membantu Anda mempelajari pembelajaran mesin dan kecerdasan buatan!