Tôi đang sử dụng tính năng tìm hiểu scikit trong chương trình Python của mình để thực hiện một số thao tác học máy. Vấn đề là bộ dữ liệu của tôi có vấn đề mất cân đối nghiêm trọng.Mất cân bằng trong việc tìm hiểu
Có ai quen thuộc với một giải pháp cho sự mất cân bằng trong scikit-tìm hiểu hoặc trong python nói chung? Trong Java có cơ chế SMOTE. Có điều gì đó song song trong python?
Bạn có thể thử oversampling/undersampling để cân bằng tập dữ liệu. Tất nhiên đây là một phương pháp học máy chung và không cụ thể cho Python và scikit-learn. Trong thực tế, câu hỏi này có thể là tắt chủ đề ở đây. Có lẽ nó phù hợp hơn với số liệu thống kê. Họ thậm chí có một [thẻ không cân bằng lớp] (http://stats.stackexchange.com/questions/tagged/unbalanced-classes). – Junuxx
Tôi biết chủ đề cũ nhưng tôi chỉ thêm một lời khuyên. Đối với các bộ dữ liệu không cân bằng, ngoài việc lấy chồng/lấy mẫu và sử dụng tham số class_weight, bạn cũng có thể hạ ngưỡng để phân loại các trường hợp của mình. Dự đoán xác suất (thay vì các lớp) và thử sử dụng các ngưỡng nhỏ hơn 0,5. Tất nhiên, điều này sẽ không làm tăng hiệu suất của trình phân loại, nó chỉ là sự cân bằng giữa độ chính xác và thu hồi. – Stergios
Stergios, bạn có thể điều chỉnh ngưỡng chính xác như thế nào? Bất kỳ tham chiếu đến mã python nào? – KubiK888