Recall từng lớp từ confusion matrix
Confusion matrix cho biết phân bố dự đoán theo lớp thật: hàng là lớp thật, cột là lớp dự
Tiến độ của tôi ở bài này
Điểm và code bạn nộp được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: python-basics, accuracy-metric.
Nội dung đề bài
Mô tả bài toán
Confusion matrix cho biết phân bố dự đoán theo lớp thật: hàng là lớp thật, cột là lớp dự đoán. Recall của lớp i là tỉ lệ mẫu thật thuộc lớp i được dự đoán đúng, tính bằng matrix[i][i] / sum(matrix[i]).
Yêu cầu
Viết hàm per_class_recall(matrix) trả về recall của từng lớp theo đúng thứ tự hàng.
Quy ước nộp bài
Nộp hàm per_class_recall trong solution.py. Hệ thống gọi hàm trực tiếp và so giá trị với sai số 1e-6; không đọc stdin và không in ra stdout.
Input
- matrix: confusion matrix dạng danh sách các hàng, mỗi hàng là một danh sách số đếm.
Output
Danh sách số thực; phần tử thứ i là recall của lớp i.
Ràng buộc
- Ma trận phải vuông, khác rỗng và mọi hàng có tổng lớn hơn 0; nếu không, hàm ném ValueError.
- Trả danh sách số thực, không trả mảng NumPy.
Ví dụ 1
Input
per_class_recall(matrix=[[5, 0], [0, 3]])
Output
[1.0, 1.0]
Ví dụ 2
Input
per_class_recall(matrix=[[2, 1], [1, 2]])
Output
[0.6666666666666666, 0.6666666666666666]
Giải thích
Với matrix = [[2, 1], [1, 2]]: hàng 0 có tổng 3 và phần tử chéo 2 nên recall là 2 / 3 = 0.6666666666666666; hàng 1 cũng vậy. Kết quả là [0.6666666666666666, 0.6666666666666666].
Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
