Proyek Klasterisasi K-Means
Menerapkannya pada kumpulan data nyata
Proyek Klasterisasi K-Means adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 5 pelajaran total.
Proyek Pengelompokan K-Means
Proyek Pengelompokan K-Means
Dalam proyek ini, kita akan menerapkan pengelompokan K-Means pada kumpulan data dunia nyata: segmentasi pelanggan. Tujuannya adalah mengelompokkan pelanggan berdasarkan pola pengeluaran mereka.

Gambaran Umum Kumpulan Data
Gambaran Umum Kumpulan Data
Kumpulan data ini berisi kolom-kolom berikut:
- ID Pelanggan: Pengenal unik untuk setiap pelanggan.
- Usia: Usia pelanggan.
- Pendapatan Tahunan: Pendapatan tahunan dalam ribuan dolar.
- Skor Pengeluaran: Skor yang ditetapkan berdasarkan perilaku pelanggan dan pola pengeluaran (1–100).
Langkah 1: Mengimpor Kumpulan Data dan Pustaka
Langkah 1: Mengimpor Kumpulan Data dan Pustaka
Kita akan memulai dengan mengimpor pustaka yang diperlukan dan memuat kumpulan data:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())Langkah 2: Prapemrosesan Data
Langkah 2: Prapemrosesan Data
Kita akan memilih fitur yang relevan untuk pengelompokan dan menormalisasi data jika diperlukan. Untuk proyek ini, kita akan menggunakan Pendapatan Tahunan dan Skor Pengeluaran:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])Langkah 3: Menentukan Jumlah Klaster Optimal
Langkah 3: Menentukan Jumlah Klaster Optimal
Kita menggunakan metode siku untuk menemukan jumlah klaster optimal dengan membuat plot jumlah kuadrat dalam klaster (WCSS) untuk berbagai nilai K:
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()Langkah 4: Menerapkan Pengelompokan K-Means
Langkah 4: Menerapkan Pengelompokan K-Means
Berdasarkan metode siku, kita memilih jumlah klaster optimal (misalnya, K=5) dan melakukan fit pada model K-Means:
kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)
# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())Langkah 5: Memvisualisasikan Klaster
Langkah 5: Memvisualisasikan Klaster
Kita dapat membuat plot klaster dalam ruang 2D untuk mengamati pemisahannya:
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()Langkah 6: Menafsirkan Klaster
Langkah 6: Menafsirkan Klaster
Setiap klaster mewakili kelompok pelanggan dengan pola pengeluaran yang serupa. Contohnya:
- Klaster 1: Pendapatan tinggi, pengeluaran tinggi.
- Klaster 2: Pendapatan rendah, pengeluaran rendah.
- Klaster 3: Pendapatan sedang, pengeluaran tinggi.
Tantangan Pengelompokan di Dunia Nyata
Tantangan Pengelompokan di Dunia Nyata
Meskipun pengelompokan sangat bermanfaat, penerapannya di dunia nyata menghadapi tantangan seperti:
- Kumpulan data berdimensi tinggi.
- Data yang berderau atau tidak lengkap.
- Menafsirkan hasil pengelompokan secara bermakna.
Ringkasan dan Langkah Berikutnya
Ringkasan dan Langkah Berikutnya
Dalam proyek ini, kita:
- Menjelajahi kumpulan data dunia nyata.
- Menerapkan pengelompokan K-Means dan memvisualisasikan hasilnya.
- Menafsirkan klaster untuk memahami perilaku pelanggan.
Selanjutnya, kita akan mempelajari teknik reduksi dimensi seperti PCA dan t-SNE.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Proyek Klasterisasi K-Means” gratis?
Ya — teks lengkap “Proyek Klasterisasi K-Means” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Proyek Klasterisasi K-Means”?
Menerapkannya pada kumpulan data nyata Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 5.
Berapa lama pelajaran “Proyek Klasterisasi K-Means” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Pengenalan Algoritme Pengelompokan
- Klasterisasi K-Means
- Proyek Klasterisasi K-Means
- Dasar-Dasar Reduksi Dimensi
- Penerapan Reduksi Dimensi