Các lớp không cân bằng - Làm thế nào để giảm thiểu âm tính giả?


11

Tôi có một tập dữ liệu có thuộc tính lớp nhị phân. Có 623 trường hợp với lớp +1 (ung thư dương tính) và 101.671 trường hợp với lớp -1 (ung thư âm tính).

Tôi đã thử các thuật toán khác nhau (Naive Bayes, Random Forest, AODE, C4.5) và tất cả chúng đều có tỷ lệ âm tính giả không thể chấp nhận được. Rừng ngẫu nhiên có độ chính xác dự đoán tổng thể cao nhất (99,5%) và tỷ lệ âm tính giả thấp nhất, nhưng vẫn bỏ lỡ 79% các nhóm dương tính (nghĩa là không phát hiện được 79% khối u ác tính).

Bất kỳ ý tưởng làm thế nào tôi có thể cải thiện tình trạng này?

Cảm ơn!


Bạn có thể xem câu hỏi này nơi tôi nhận được câu trả lời thú vị cho vấn đề này. Trân trọng
Michael Hooreman

Câu trả lời:


9

Mất cân bằng giai cấp là một vấn đề rất phổ biến. Bạn có thể chồng chéo lớp dương (hoặc gạch dưới âm) hoặc thêm trọng số lớp.

Một điều cần nhớ trong trường hợp này là độ chính xác không phải là một số liệu rất hữu ích ở đây. Bạn có thể xem xét điểm AUC hoặc F1 .

Thay đổi ngưỡng quyết định của bạn có vẻ hấp dẫn, nhưng rõ ràng sẽ dẫn đến (trong trường hợp này rất có thể) làm tăng dương tính giả (mặc dù có lẽ FP không tệ như FN trong trường hợp chẩn đoán y tế, nếu xét nghiệm không quá đắt).

Một phân tích sâu hơn về các tùy chọn trong trường hợp mất cân bằng lớp được cung cấp ở đây .


3

Mặc dù câu trả lời trong thực tế luôn luôn truehoặc false, bạn có thể làm cho các thuộc tính lớp của mình không phải là nhãn mà là các số dấu phẩy động, tức là 1.0 và 0.0 (hoặc 100 và 0). Đó là, bạn có thể đóng khung nó là một vấn đề hồi quy , không phải vấn đề phân loại.

Sau đó, đầu ra dự đoán cũng sẽ là các số trên phổ đó, tức là xác suất không phải là nhãn. Việc triển khai hiện tại của bạn về cơ bản tương đương với mô hình hồi quy có ngưỡng 0,5.

Với đầu ra như vậy, bạn hoặc khách hàng của bạn có thể xác định ngưỡng chấp nhận được (ví dụ 0,3). Tất nhiên sau đó sẽ có nhiều kết quả sai, nhưng đối với một số ứng dụng, như phát hiện ung thư, điều đó là tối ưu.

Oversampling (tích cực) hoặc underampling (phủ định) cũng là những cách để khắc phục điều này, nhưng phải được thực hiện chu đáo, có thể hy sinh tính chính xác và vẫn hy sinh quyền kiểm soát để di chuyển ngưỡng sau khi tạo dữ liệu và đào tạo.


0

Lấy mẫu dưới và quá mức như một kỹ thuật đã được đề cập, nhưng tôi nghĩ rằng tôi sẽ chỉ ra một biến thể thường được sử dụng:

SMote : Kỹ thuật lấy mẫu quá mức tổng hợp

Nó đã được trình bày trong bài báo này vào năm 2002 . Đây là một đoạn trích từ bản tóm tắt:

Bài viết này cho thấy rằng sự kết hợp giữa phương pháp lấy mẫu quá mức của nhóm thiểu số (bất thường) và lấy mẫu dưới lớp đa số (bình thường) có thể đạt được hiệu suất phân loại tốt hơn (trong không gian ROC) so với chỉ lấy mẫu dưới lớp đa số.


Bạn có thể sử dụng nó một cách dễ dàng bằng Python, sử dụng các imbalanced-learngói , được chứa trong contrib mô-đun của Scikit-Tìm hiểu và phải được cài đặt riêng rẽ.

mất cân bằng-learn là gói python cung cấp một số kỹ thuật lấy mẫu lại thường được sử dụng trong các bộ dữ liệu cho thấy sự mất cân bằng giữa các lớp.

Gói đó bao gồm các phương pháp để kết hợp lấy mẫu quá mức / dưới mức cũng như một tập hợp các tiện ích để tạo ra các lô dữ liệu có thể chảy vào Keras / Tensorflow.

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.