Tâm cụm theo đơn vị thực tế
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 12 trên 51.
Tâm cụm là thành viên tiêu biểu của cụm. K-means tìm tâm của các cụm trong dữ liệu đã chuẩn hóa, nên các giá trị được biểu thị dưới dạng điểm z. Các tâm giống nhau trước và sau khi chuyển đổi:
Giữ lại bộ chuẩn hóa: nó ghi nhớ giá trị trung bình và độ phân tán của từng đặc trưng, còn inverse_transform đảo ngược việc chuẩn hóa:
scaler = StandardScaler()
km.fit(scaler.fit_transform(park))
centers = scaler.inverse_transform(km.cluster_centers_)
print(centers.round(1))Lệnh này in ra số giờ, số chuyến đi và độ tuổi, mỗi cụm một hàng:
[[ 6. 6.2 38.4]
[ 2.4 3. 45.8]
[ 6.8 13.9 20.7]]Tâm của cụm 2 là 0.8 và 1.3. Giờ đây, nó biểu thị 6.8 giờ và 13.9 chuyến đi: cùng một điểm, nhưng dùng đơn vị mà mọi người có thể hiểu.
Thử thách
Trung bìnhNgười làm găng tay chia các cụm bàn tay thành 4 cỡ găng tay. Code khởi đầu chuẩn hóa 150 bàn tay, phân cụm chúng và đọc dữ liệu bàn tay của khách hàng vào new_hand.
- Tìm cụm mà bàn tay mới thuộc về: chuẩn hóa bàn tay đó trước.
- Chuyển các tâm cụm về lại đơn vị cm.
- In tâm của cụm đó với 1 chữ số thập phân như bên dưới.
Với một người làm găng tay khác:
Your glove size: hand 20.3 cm, palm 8.9 cm, finger 8.6 cmTự làm thử
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.cluster import KMeans
# Người làm găng tay đo 150 bàn tay, tính bằng cm: chiều dài bàn tay, chiều rộng lòng bàn tay và chiều dài ngón giữa
hands = pd.read_csv("hands.csv")
scaler = StandardScaler()
scaled = scaler.fit_transform(hands)
# Mỗi cỡ găng tay tương ứng với một cụm
km = KMeans(n_clusters=4, n_init=10, random_state=0)
km.fit(scaled)
# Bàn tay của khách hàng mới, dưới dạng bảng một hàng với các cột giống nhau
new_hand = pd.DataFrame({
"hand_cm": [float(input())],
"palm_cm": [float(input())],
"finger_cm": [float(input())],
})
# Viết code 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