Phương sai được giải thích
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 27 trên 51.
2 thành phần giữ lại được bao nhiêu? Mỗi thành phần chiếm một phần trong tổng độ phân tán, gọi là tỷ lệ phương sai được giải thích. Với cả 13 thành phần của rượu vang:
PCA() không có n_components sẽ giữ lại tất cả. np.cumsum cho biết tổng tích lũy:
pca = PCA().fit(scaled)
ratio = pca.explained_variance_ratio_
print(ratio[:3].round(3))
total = np.cumsum(ratio)
print((total < 0.9).sum() + 1)Lệnh này in ra [0.362 0.192 0.111] và 8: các tổng vẫn dưới 0.9, cộng thêm lần đầu vượt ngưỡng. Vì vậy, bản đồ rượu vang 2D giữ lại 55%.
Thử thách
Trung bìnhPhòng thí nghiệm sô-cô-la đo 9 thông số cho mỗi thanh. Có bao nhiêu thành phần giữ lại 90% độ phân tán? scaled đã sẵn sàng.
- Khớp
PCA()và lấy tỷ lệ của từng thành phần. - In ra số thành phần đạt 90%.
- Vẽ tỷ lệ thành các cột tại vị trí 1, 2, 3..., với nhãn
each component; vẽ tổng lũy kế thành đường vớimarker="o", có nhãnrunning total; vẽ đường gạch màu xám tại 0.9 và thêm chú giải. Hiển thị biểu đồ.
Với một phòng thí nghiệm khác:
Components for 90%: 4Tự làm thử
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
# Phòng thí nghiệm của người làm sô cô la: 9 phép đo cho mỗi thanh trong số 150 thanh
bars = pd.read_csv("chocolate.csv")
scaled = StandardScaler().fit_transform(bars)
fig, ax = plt.subplots()
ax.set_title("Spread Kept by Each Component")
ax.set_xlabel("Component")
ax.set_ylabel("Share of spread")
# 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àngTự luyện tập: Trình biên dịch Python online