Chữ số viết tay
Thuộc phần Học có giám sát trong hành trình Machine Learning của Coddy. Bài học 57 trên 58.
Máy phân loại thư của bưu điện đọc các chữ số mã bưu chính viết tay từ ảnh quét 8 x 8 mà bạn đã xem trong bài học Digits at a Glance, load_digits:
Có hai ứng viên cho công việc này: k-NN với giá trị k do một kỹ sư đề xuất, và một rừng ngẫu nhiên gồm 100 cây.
Lần này, các lỗi đều quan trọng. Văn phòng cần biết mô hình nào công bằng hơn, điểm số của mô hình trên những bản quét chưa từng thấy và nhầm lẫn phổ biến nhất của mô hình, vì vậy một người sẽ xem các chữ số đó.
Thử thách
KhóChương trình đọc k của kỹ sư; phần code khởi đầu tạo một biểu đồ có tiêu đề.
- Tách một phần tư dữ liệu làm tập kiểm tra theo phương pháp phân tầng,
random_state=0. - Đánh giá chéo k-NN với
kđó và một rừng gồm 100 cây (random_state=0), dùng 5 phần, trên các hàng dữ liệu huấn luyện. In giá trị trung bình của mỗi mô hình (3 chữ số thập phân) và mô hình thắng cuộc. - Huấn luyện mô hình thắng cuộc và in độ chính xác trên tập kiểm tra.
- In lỗi lớn nhất trong ma trận nhầm lẫn của tập kiểm tra, sau đó vẽ ma trận lên
axvà hiển thị.
Với một máy khác và 3:
k-NN: CV accuracy 0.979
Random forest: CV accuracy 0.968
Winner: k-NN
Test accuracy: 0.976
Most confused: 7 read as 2 (3 times)Sau đó Coddy báo cáo ma trận của bạn.
Tự làm thử
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.neighbors import KNeighborsClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay
digits = load_digits()
X = digits.data
y = digits.target
k = int(input())
fig, ax = plt.subplots()
ax.set_title("Test Digits")
# 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 có giám sát
1Mô hình đầu tiên của bạn
Học từ ví dụTập huấn luyện và tập kiểm traHuấn luyện và dự đoánChấm điểm mô hìnhÔn tập: Bộ sắp xếp hạt giống2Láng giềng gần nhất
Cách k-NN đưa ra quyết địnhChọn kRanh giới quyết địnhChuẩn hóa dữ liệu cho láng giềngÔn tập: láng giềng với dữ liệu rượu vang5Đánh giá bộ phân loại
Ma trận nhầm lẫnĐộ chính xác và độ thu hồiĐiểm F1Các lớp mất cân bằngĐường cong ROCÔn tập: Bài kiểm tra sàng lọc11Dự án: Các loài chim cánh cụt
Làm quen với chim cánh cụtChuẩn bị dữ liệuChọn mô hìnhTinh chỉnh mô hình tốt nhấtĐưa mô hình vào sử dụng3Hồi quy tuyến tính
Dự đoán các con sốNhiều đặc trưngĐo lường sai sốBiểu đồ phần dưÔn tập: Thuê xe đạp6Cây quyết định
Cây đặt câu hỏiĐọc câyĐộ sâu của câyTầm quan trọng của đặc trưngÔn tập: quyết định cho vay9Các mô hình tổ hợp
Rừng ngẫu nhiênVì sao rừng hoạt động hiệu quảTăng cường độ dốcÔn tập: Người kiểm lâm rừng12Thử thách cuối cùng
Tiến triển của bệnh tiểu đườngPhê duyệt tín dụngChữ số viết tayKhách hàng rời bỏTự luyện tập: Trình biên dịch Python online