Các thành phần như mẫu hình
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 30 trên 51.
PCA đã xem xét điều gì? Mỗi thành phần gồm 64 trọng số, mỗi pixel có một trọng số, và components_ chứa một hàng cho mỗi thành phần:
pca = PCA(n_components=4).fit(X)
print(pca.components_.shape)Lệnh này in ra (4, 64). Đổi hình dạng một hàng thành 8 nhân 8, bạn sẽ có một bức ảnh. cmap="gray_r" là thang xám đảo ngược: trọng số lớn có màu tối, trọng số âm có màu sáng:
ax.imshow(pca.components_[0].reshape(8, 8), cmap="gray_r")Thành phần 1 có màu tối ở những nơi số 4 và số 6 có mực, nên chúng nằm ở phía bên phải của bản đồ. Một lần quét đạt điểm cao khi mực của nó rơi vào các điểm ảnh tối.
Thử thách
Trung bìnhMột giáo viên thư pháp muốn xem cách mọi người viết một chữ số. Chương trình đọc chữ số đó, còn phần code khởi đầu lưu các bản quét vào X.
- Khớp PCA với 3 thành phần trên
X. - Vẽ thành phần
itrênaxs[i]thành hình ảnh 8 nhân 8 vớicmap="gray_r", đặt tiêu đề từComponent 1đếnComponent 3. - Hiển thị biểu đồ.
Với các số 2, chương trình vẽ như sau. Sau đó, Coddy mô tả các khung hình của bạn:
Tự làm thử
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.decomposition import PCA
# Mỗi ảnh quét của một chữ số đọc từ đầu vào: 64 pixel trên mỗi hàng
d = int(input())
digits = load_digits()
X = digits.data[digits.target == d]
# Đừng thay đổi dòng bên dưới
fig, axs = plt.subplots(1, 3)
# 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àngTự luyện tập: Trình biên dịch Python online