Phân tích đặc điểm các cụm
Thuộc phần Học không giám sát trong hành trình Machine Learning của Coddy. Bài học 11 trên 51.
Chương này biến các số cụm thành những nhóm mà mọi người có thể sử dụng. Đến cuối chương, mỗi cụm đều có một tên:
Một con số như 2 chẳng nói lên điều gì. Hồ sơ mới cho biết ý nghĩa: giá trị trung bình của từng đặc trưng trong cụm. Thêm nhãn vào dưới dạng một cột, rồi nhóm lại:
park["cluster"] = km.labels_
print(park.groupby("cluster").mean().round(1))Lệnh này in ra một hàng cho mỗi cụm:
hours rides age
cluster
0 6.0 6.2 38.4
1 2.4 3.0 45.8
2 6.8 13.9 20.7Giờ hãy đọc các hàng như những từ ngữ. Cụm 2 gồm những người trẻ tuổi, ở lại 7 giờ và đi 14 chuyến: những người thích cảm giác mạnh. Cụm 1 rời đi sớm: những khách tham quan nhanh.
Thử thách
Trung bìnhMột quán karaoke muốn tìm hiểu về khách của mình. Đoạn code khởi đầu chia họ thành 3 cụm; names chứa tên cho từng cụm, từ cụm có ít lượt ghé mỗi tháng nhất đến cụm có nhiều lượt nhất.
- Thêm nhãn vào
guestsdưới dạng một cộtcluster. - Lập hồ sơ các cụm: tính giá trị trung bình và số khách trong mỗi cụm, rồi sắp xếp theo
visits_month. - In một dòng cho mỗi cụm, gồm tên cụm và các giá trị trung bình được làm tròn đến 1 chữ số thập phân.
Với một quán khác:
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 hoursTự làm thử
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# 110 khách của một quán karaoke: visits a month, số bài hát mỗi lần đến, số giờ mỗi lần đến
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)
# Tên các nhóm, sắp theo số lần đến mỗi tháng từ ít nhất đến nhiều nhất
names = ["Once in a while", "Regulars", "Superfans"]
# Viết code của bạn bên dưới
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Học không giám sát
1Tìm các nhóm
Học không cần nhãnĐo độ tương đồngTự thực hiện K-MeansK-Means trong scikit-learnÔn tập: thành viên phòng gym7PCA trong thực tế
Quan sát 64 chiềuCác thành phần như mẫu hìnhNén và dựng lạiPCA trước khi xây dựng mô hìnhÔn tập: máy quét khuôn mặt10Dự án: Khám phá chữ số
Quan sát các chữ sốThu gọn bằng PCAPhân cụm chữ sốĐặt tên cho các cụmTìm những chữ số khác biệt2Chọn k
Quán tínhPhương pháp khuỷu tayĐiểm số SilhouetteChuẩn hóa thang đo trước khi phân cụmÔn tập: Các vùng giao hàng3Đọc hiểu các cụm
Phân tích đặc điểm các cụmTâm cụm theo đơn vị thực tếCụm và nhãn đã biếtKhi K-Means thất bạiÔn tập: Nếm tràTự luyện tập: Trình biên dịch Python online