Menu
CoddyTech

Khám phá theo lớp

Thuộc phần Dữ liệu và biểu đồ trong hành trình Machine Learning của Coddy. Bài học 54 trên 60.

Đặc điểm đo nào giúp nhận biết một loài? Hãy xếp từng bông hoa trên một đường thẳng theo chiều dài cánh hoa, mỗi loài một hàng:

Hoa diên vĩ được xếp theo chiều dài cánh hoa, mỗi loài một hàng: setosa tập trung quanh 1.5 cm, versicolor quanh 4.3 cm và virginica quanh 5.6 cm, giá trị trung bình của mỗi lớp được đánh dấu bằng một vạch đen

Phương thức groupby trên nhãn sẽ tính các giá trị trung bình đó:

df = iris.frame
means = df.groupby("target")["petal length (cm)"].mean()
print(means)

Kết quả được in ra:

target
0    1.462
1    4.260
2    5.552
Name: petal length (cm), dtype: float64

Các lớp có nghĩa là ngồi cách xa nhau, nên chiều dài cánh hoa phân tách các lớp: mô hình sẽ dựa vào đặc điểm này.

Tỉ lệ cho biết mức độ chênh lệch: means[2] / means[1] vào khoảng 1.3. Tỉ lệ càng xa 1, đặc trưng càng phân biệt rõ hai lớp đó.

challenge icon

Thử thách

Trung bình

Số đo tế bào nào giúp nhận biết mẫu ác tính? Trong load_breast_cancer, lớp 0 là ác tính và lớp 1 là lành tính. Đoạn code khởi đầu đọc một số tên đặc trưng vào features.

  1. Với mỗi đặc trưng, in ra giá trị trung bình của mẫu ác tính chia cho giá trị trung bình của mẫu lành tính, làm tròn đến 2 chữ số thập phân bằng round.
  2. Sau vòng lặp, nêu tên đặc trưng có tỷ lệ lớn nhất.

Với các đặc trưng worst radius và worst texture:

worst radius: malignant is 1.58 times benign
worst texture: malignant is 1.25 times benign
Best separator: worst radius

Tự làm thử

from sklearn.datasets import load_breast_cancer

cancer = load_breast_cancer(as_frame=True)

# Các đặc trưng cần so sánh
n = int(input())
features = []
for i in range(n):
    features.append(input())

# 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 Dữ liệu và biểu đồ

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