Ôn tập: Sửa chữa ván trượt
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 40 trên 58.
Thử thách
Trung bìnhQuầy cho thuê ở công viên trượt ván muốn có một mô hình nhận diện những tấm ván được trả lại cần sửa chữa. Chương trình đọc giá trị k lớn nhất cần thử.
- Tách 25% số hàng làm dữ liệu kiểm tra (
random_state=0). - Với mỗi k trong
ks, thực hiện kiểm định chéo k-NN trên các hàng huấn luyện (cv=5). Vẽ các giá trị trung bình dưới dạng biểu đồ cột và in ra k tốt nhất. - Dùng tìm kiếm lưới để tìm
max_depthtốt nhất cho cây trongdepths(cv=5,random_state=0) rồi in ra giá trị tốt nhất. - Mô hình có giá trị trung bình cao hơn sẽ thắng: in ra
Winner: k-NNhoặcWinner: treecùng với độ chính xác trên dữ liệu kiểm tra.
Với một công viên khác và giá trị 13:
Best k: 13 (mean 0.785)
Best depth: 5 (mean 0.763)
Winner: k-NN, test accuracy 0.822Sau đó, Coddy mô tả biểu đồ của bạn. Biểu đồ của họ trông như sau:
Tự làm thử
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split, cross_val_score, GridSearchCV
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
# Giá trị k lớn nhất cần thử, chẳng hạn 15
max_k = int(input())
# Mỗi ván trượt được trả lại chiếm một hàng: số lượt thuê kể từ lần bảo dưỡng gần nhất, mức độ hao mòn từ 0 đến 10
# và các vết nứt trên mặt ván; 1 trong repair nghĩa là ván đã được đưa đến xưởng sửa chữa
boards = pd.read_csv("skateboards.csv")
features = ["rentals", "wheel_wear", "bearing_noise", "grip_wear", "truck_wobble", "deck_cracks"]
X = boards[features]
y = boards["repair"]
# Mỗi đặc trưng là một số đếm hoặc điểm số nhỏ, nên k-NN không cần chuẩn hóa dữ liệu ở đây
ks = list(range(1, max_k + 1, 2))
depths = [2, 3, 4, 5, 6, 7, 8]
fig, ax = plt.subplots()
ax.set_title("Skateboard Repairs: Accuracy by k")
ax.set_xlabel("k (neighbors)")
ax.set_ylabel("Mean CV accuracy")
ax.set_xticks(ks)
ax.set_ylim(0.6, 0.9) # Bắt đầu từ 0.6 để thấy rõ những khác biệt nhỏ
# Viết code bên dưới
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