Menu
CoddyTech

Tất cả đặc trưng cùng lúc

Thuộc phần Thống kê cho machine learning trong hành trình Machine Learning của Coddy. Bài học 57 trên 64.

Ba mươi đặc trưng cần ba mươi biểu đồ tần suất. Đặt chúng thành một lưới biểu đồ nhỏ sẽ giúp bạn đọc nhanh hơn, như bốn đặc trưng của hoa iris này:

Bốn biểu đồ tần suất nhỏ xếp thành lưới 2 × 2, mỗi biểu đồ thể hiện một đặc trưng của hoa iris: hai biểu đồ đài hoa có một đỉnh đơn, còn hai biểu đồ cánh hoa đều chia thành một cụm nhỏ bên trái và một đỉnh rộng bên phải

Một vòng lặp (loop) điền vào lưới, biểu đồ i với đặc trưng i:

names = iris.feature_names
fig, axs = plt.subplots(2, 2)
for i in range(4):
    ax = axs.flat[i]
    ax.hist(iris.frame[names[i]], bins=15)
    ax.set_title(names[i])
fig.tight_layout()
plt.show()

plt.subplots(2, 2) tạo một bảng biểu đồ, còn axs.flat sắp xếp chúng theo từng hàng:

Lưới gồm 2 hàng và 3 cột, các ô được đánh số từ 0 đến 5 theo thứ tự trong axs.flat, bắt đầu từ hàng 0 rồi đến hàng 1; bên dưới mỗi ô có ghi hàng và cột tương ứng

fig.tight_layout() giữ cho các tiêu đề không chồng lên nhau. Giờ hãy đọc biểu đồ: cả hai biểu đồ tần suất của cánh hoa đều chia thành hai nhóm. Khoảng trống như vậy thường cho thấy một lớp tách biệt, vì vậy hãy giữ lại đặc trưng đó.

challenge icon

Thử thách

Trung bình

Xem toàn bộ dữ liệu mô của khối u. Đầu vào chọn một nhóm, mean, error hoặc worst, và mã khởi đầu đưa sáu tên đặc trưng đầu tiên vào names.

  1. Tạo một lưới gồm 2 hàng và 3 cột.
  2. Trong biểu đồ i, vẽ biểu đồ tần suất của đặc trưng i với 20 khoảng chia, đặt tên biểu đồ theo tên đặc trưng.
  3. Chỉnh bố cục cho gọn, rồi hiển thị biểu đồ.

Ví dụ về lưới gồm sáu đặc trưng của rượu vang:

Sáu biểu đồ tần suất nhỏ, xếp thành 2 hàng và 3 cột, có tiêu đề lần lượt là alcohol, malic_acid, ash, alcalinity_of_ash, magnesium và total_phenols, mỗi biểu đồ có 20 cột

Chương trình của bạn không in ra nội dung nào: Coddy mô tả từng biểu đồ.

Tự làm thử

import matplotlib.pyplot as plt
from sklearn.datasets import load_breast_cancer

group = input()
cancer = load_breast_cancer(as_frame=True)
df = cancer.frame
# Sáu tên đặc trưng đầu tiên của nhóm: mean, error hoặc worst
start = {"mean": 0, "error": 10, "worst": 20}[group]
names = cancer.feature_names[start:start + 6]

# Viết code của bạn bên dưới
quiz iconTự kiểm tra

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 Thống kê cho machine learning

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