0Pricing
Python Academy · Pelajaran

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.

Proyek Klasterisasi K-Means — ilustrasi 1

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.

Proyek Klasterisasi K-Means — ilustrasi 10

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

  1. Pengenalan Algoritme Pengelompokan
  2. Klasterisasi K-Means
  3. Proyek Klasterisasi K-Means
  4. Dasar-Dasar Reduksi Dimensi
  5. Penerapan Reduksi Dimensi
← Kembali ke Python Academy