Menentukan jumlah klaster yang optimal
Di sini, Anda akan menggunakan metode kriteria siku (elbow criterion) untuk mengidentifikasi jumlah klaster optimal saat penurunan jumlah kuadrat galat (squared sum of error) menjadi marginal. Ini merupakan langkah penting untuk mendapatkan perkiraan awal jumlah klaster secara matematis sebelum mulai pengujian. Anda akan melakukan iterasi melalui beberapa nilai k untuk jumlah klaster dan menjalankan algoritma KMeans untuk masing-masingnya, lalu memplot galat terhadap setiap k guna mengidentifikasi "siku" saat laju penurunan galat melambat.
Modul KMeans dimuat dari sklearn.cluster, pustaka seaborn dimuat sebagai sns, dan modul matplotlib.pyplot dimuat sebagai plt. Selain itu, himpunan data yang telah diskalakan dimuat sebagai wholesale_scaled_df dalam bentuk DataFrame pandas.
Latihan ini adalah bagian dari kursus
Machine Learning untuk Pemasaran dengan Python
Petunjuk latihan
- Buat kamus kosong
sse. - Latih algoritma
KMeanspada nilai k antara 1 hingga 11 dan simpan nilai galat ke dalam kamussse. - Tambahkan title pada plot.
- Buat plot sebar dengan keys pada sumbu-X dan values pada sumbu-Y, lalu tampilkan grafiknya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create empty sse dictionary
sse = {}
# Fit KMeans algorithm on k values between 1 and 11
for k in ___(1, 11):
kmeans = ___(n_clusters=___, random_state=333)
kmeans.___(wholesale_scaled_df)
sse[k] = kmeans.inertia_
# Add the title to the plot
plt.___('Elbow criterion method chart')
# Create and display a scatter plot
sns.pointplot(x=list(sse.___()), y=list(sse.___()))
plt.___()