Là lấy mẫu phân tầng cần thiết (rừng ngẫu nhiên, Python)?


14

Tôi sử dụng Python để chạy một mô hình rừng ngẫu nhiên trên tập dữ liệu mất cân bằng của mình (biến mục tiêu là một lớp nhị phân). Khi tách tập dữ liệu huấn luyện và kiểm tra, tôi loay hoay có nên sử dụng lấy mẫu phân tầng (như mã được hiển thị) hay không. Cho đến nay, tôi đã quan sát trong dự án của mình rằng trường hợp phân tầng sẽ dẫn đến hiệu suất mô hình cao hơn. Nhưng tôi nghĩ rằng nếu tôi sẽ sử dụng mô hình của mình để dự đoán các trường hợp mới có thể rất khác nhau trong việc phân phối lớp mục tiêu với tập dữ liệu hiện tại của tôi. Vì vậy, tôi có xu hướng nới lỏng ràng buộc này và sử dụng phân chia chưa được phân loại. Bất cứ ai có thể tư vấn để làm rõ điểm này?

train,test=train_test_split(myDataset, test_size=0.25, stratify=y)

Câu trả lời:


13

Nếu số lượng giá trị thuộc về mỗi lớp không cân bằng, sử dụng lấy mẫu phân tầng là một điều tốt. Về cơ bản, bạn đang yêu cầu mô hình thực hiện tập huấn luyện và kiểm tra sao cho tỷ lệ lớp giống với toàn bộ tập dữ liệu, đây là điều đúng đắn . Nếu các lớp học của bạn được cân bằng thì việc xáo trộn (không cần phân tầng ở đây) về cơ bản có thể đảm bảo kiểm tra công bằng và phân chia đào tạo.

Bây giờ mô hình của bạn sẽ có khả năng hoặc ít nhất là được trang bị đủ để dự đoán lớp vượt trội (lớp có số điểm ít hơn). Đó là lý do tại sao thay vì chỉ tính toán Độ chính xác, bạn đã được cung cấp các số liệu khác như Độ nhạy và Độ đặc hiệu . Giữ một chiếc đồng hồ trên, đây là những người bảo vệ.

Hi vọng điêu nay co ich.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.