ai-330Đọc toàn bộ đề miễn phí

Chia dữ liệu giữ tỷ lệ lớp

Hiểu vì sao classification cần chia train/test giữ tỷ lệ nhãn.

AICơ bản25 phút

Tiến độ của tôi ở bài này

Điểm đượ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ủ đề

scikit-learnstratificationclass-balanceclassification

Kiến thức tiên quyết: train test split, label counts.

Nội dung đề bài

Mục tiêu kiến thức

Hiểu vì sao classification cần chia train/test giữ tỷ lệ nhãn.

Mô tả bài toán

Đây là bài số 330 trong tầng Dữ liệu và tiền xử lý bằng thư viện. Bài dùng thư viện train_test_split(..., stratify=labels) trên dữ liệu nhỏ, cố định và chạy CPU; mục tiêu là hiểu workflow chứ không bắt học viên tự viết lại thư viện.

Yêu cầu

Dùng train_test_split trên index và truyền stratify=labels; trả về kích thước và số lượng từng lớp.

def stratified_split_counts(labels, test_size, seed):

Input

labels là list nhãn; các lớp có đủ mẫu để chia. test_size và seed giống bài trước.

Output

Dictionary train_size, test_size, train_counts và test_counts; key count là chuỗi.

Ràng buộc

Không chia ngẫu nhiên không stratify và không đổi labels đầu vào.

Ví dụ

Giải thích

8 nhãn 0 và 4 nhãn 1, test 25% phải có 2 số 0 và 1 số 1.

3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

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.