Menu
CoddyTech

Ôn tập: tinh chỉnh cây

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 36 trên 58.

challenge icon

Thử thách

Trung bình

Cảm biến của máy rang đọc 6 giá trị cho mỗi mẻ cà phê; 1 nghĩa là đã sẵn sàng đóng gói. Hãy chọn độ sâu của cây một cách khách quan.

  1. Tách 20% để kiểm tra, sau đó lấy 25% phần còn lại để xác thực (random_state=0).
  2. Với độ sâu từ 1 đến 10, huấn luyện một cây (random_state=0) trên các hàng dùng để huấn luyện; vẽ độ chính xác trên tập huấn luyện và tập xác thực, marker="o", gắn nhãn training và validation.
  3. In độ sâu tốt nhất, sau đó in độ chính xác trên tập kiểm tra.
  4. Đánh dấu độ sâu đó bằng một đường nét đứt và điểm kiểm tra bằng một ngôi sao màu đỏ; thêm chú giải.

Một máy rang khác in ra:

Best depth: 5 (validation accuracy 0.887)
Test accuracy: 0.750

và vẽ biểu đồ này. Sau đó, Coddy mô tả biểu đồ của bạn.

Mẻ cà phê: chọn độ sâu. Đường huấn luyện tăng từ 0.69 lên gần 1.0; đường xác thực đạt đỉnh 0.89 ở độ sâu 5, rồi giảm xuống 0.78. Một đường nét đứt nằm ở độ sâu 5, với một ngôi sao màu đỏ tại 0.75, là điểm kiểm tra

Tự làm thử

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# make_classification tạo các hàng dữ liệu sát thực tế để luyện tập: ở đây có 400 mẻ cà phê,
# mỗi mẻ có 6 số đo từ cảm biến của máy rang, nhãn 1 khi mẻ đã sẵn sàng để đóng túi
X, y = make_classification(n_samples=400, n_features=6, n_informative=3, n_redundant=1,
                           flip_y=0.1, random_state=79)

fig, ax = plt.subplots()
ax.set_title("Coffee Batches: Choosing a Depth")
ax.set_xlabel("Tree depth")
ax.set_ylabel("Accuracy")

# Viết code của bạn bên dưới

Tất cả bài học trong Học có giám sát

Tự luyện tập: Trình biên dịch Python online