Menu
CoddyTech

Mengenali Karakteristik Cluster

Termasuk bagian Pembelajaran Tanpa Pengawasan dalam perjalanan Machine Learning di Coddy. Pelajaran 11 dari 51.

Bab ini mengubah angka cluster menjadi kelompok yang dapat digunakan orang. Di akhir bab ini, setiap cluster memiliki nama:

120 pengunjung taman hiburan ditampilkan sebagai titik, jam di taman pada sumbu mendatar dan wahana yang dinaiki pada sumbu tegak, dalam tiga kelompok yang diberi nama pada legenda: Pencari sensasi di bagian kanan atas, Keluarga di tengah, Pengunjung singkat di bagian kiri bawah

Angka seperti 2 tidak memberi tahu apa pun. Profilnya yang memberi tahu: rata-rata setiap fitur di dalam cluster. Tambahkan label sebagai kolom, lalu kelompokkan:

park["cluster"] = km.labels_
print(park.groupby("cluster").mean().round(1))

Ini mencetak satu baris untuk setiap cluster:

         hours  rides   age
cluster
0          6.0    6.2  38.4
1          2.4    3.0  45.8
2          6.8   13.9  20.7

Sekarang baca baris-barisnya sebagai kata-kata. Cluster 2 berusia muda, tinggal selama 7 jam, dan menaiki 14 wahana: pencari sensasi. Cluster 1 pergi lebih awal: pengunjung singkat.

challenge icon

Tantangan

Sedang

Sebuah bar karaoke ingin mengenal para tamunya. Kode awal membagi mereka menjadi 3 cluster; names menyimpan satu nama untuk setiap cluster, dari jumlah kunjungan paling sedikit per bulan hingga paling banyak.

  1. Tambahkan label ke guests sebagai kolom cluster.
  2. Buat profil cluster: nilai rata-rata dan jumlah tamunya, lalu urutkan berdasarkan visits_month.
  3. Cetak satu baris untuk setiap cluster dengan namanya dan nilai rata-rata hingga 1 angka desimal.

Untuk bar lain:

Once in a while: 30 guests, 1.4 visits a month, 2.5 songs, 3.2 hours
Regulars: 45 guests, 3.0 visits a month, 4.6 songs, 2.0 hours
Superfans: 15 guests, 7.4 visits a month, 9.2 songs, 2.8 hours

Coba sendiri

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans

# 110 tamu bar karaoke: visits a month, lagu per kunjungan, jam per kunjungan
guests = pd.read_csv("karaoke.csv")
scaled = StandardScaler().fit_transform(guests)
km = KMeans(n_clusters=3, n_init=10, random_state=0)
km.fit(scaled)

# Nama kelompok, dari yang paling jarang hingga paling sering berkunjung dalam sebulan
names = ["Once in a while", "Regulars", "Superfans"]

# Tulis kodemu di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pembelajaran Tanpa Pengawasan

Latihan sendiri: Compiler Python online