Cách tốt nhất để đạt điểm F trung bình với các lớp không cân bằng


7

Tôi có một bộ dữ liệu với các lớp không cân bằng. Ba lớp chiếm khoảng 60% dữ liệu. Ngoài ra, tôi có các phân tách thử nghiệm khác nhau gây ra sự mất cân bằng. Ví dụ:

Tập xe lửa: nhãn_1 ... nhãn_n

Bộ kiểm tra: nhãn_1, nhãn_3, nhãn_9

Điều này có nghĩa là mặc dù tôi chỉ có 3 nhãn trong bộ thử nghiệm của mình, nhưng nó có khả năng được dự đoán là 1 trong n nhãn. Vì vậy, khi tôi sử dụng sklearn.metrics.precision_recall_fscore_support , tôi nhận được một ma trận có rất nhiều số không.

Vấn đề của tôi là tôi cần đạt điểm F trung bình trên tất cả các lớp, thay vì giá trị mỗi lớp. Tuy nhiên, chỉ lấy trung bình của ma trận được trả về từ hàm sklearn ở trên sẽ luôn có giá trị rất thấp vì có rất nhiều số không. Mặt khác, lấy trung bình trên các giá trị khác không cũng không có ý nghĩa gì với tôi vì tổng số dự đoán tiềm năng sẽ là tổng số lớp.

Có một cách tốt để lấy trung bình trong trường hợp này? Tôi đã thử sử dụng các tùy chọn trung bình vi mô, vĩ mô và có trọng số nhưng tôi không chắc cái nào đúng.

Bất cứ ai có thể xin vui lòng giúp tôi với điều này?

Câu trả lời:


1

"Tôi không chắc cái nào đúng"

Không có đúng hay sai ở đây.

Hiệu suất của trình phân loại có thể được biểu diễn bằng cách sử dụng nnma trận. Khi cố gắng thể hiện hiệu suất bằng một số liệu duy nhất, bạn sẽ mất một số thông tin.

Nói cách khác, vì không thể khôi phục ma trận nhầm lẫn dựa trên một số liệu duy nhất, nên sẽ mất thông tin khi chúng tôi chỉ xem xét một số liệu duy nhất để diễn giải hiệu suất của phân loại.

Nhưng vẫn ... để quyết định phân loại nào tốt hơn trong số một số lựa chọn thay thế - chúng ta cần một số liệu duy nhất ...

Chỉ số nào đại diện tốt nhất cho hiệu suất? Đó là một câu hỏi chủ quan. Đây là nơi các nhà thống kê trở nên sáng tạo. Đây là lý do tại sao rất nhiều số liệu đã được mục đích.

Các số liệu khác nhau 'thích' các loại thông tin khác nhau có thể được trích xuất từ ​​ma trận nhầm lẫn. Tùy thuộc vào bạn quyết định xem ai nắm bắt thông tin mà bạn coi là 'quan trọng nhất'.

Một số tiêu chí bạn có thể xem xét:

  • Có phải tất cả các lớp đều quan trọng như nhau / tất cả các trường hợp đều quan trọng như nhau?
  • Là phân loại và phân loại sai là "quan trọng" như nhau?
  • Là dương tính giả và âm tính giả là 'quan trọng' như nhau?
  • Hiệu suất nên là tuyệt đối, hoặc liên quan đến một số phân loại ngẫu nhiên?
  • Số liệu nên được tuyến tính trong một số ý nghĩa?
  • Vân vân.

Cảm ơn câu trả lời của bạn! Tôi hiểu rằng không có số liệu cụ thể nào mà tôi có thể tập trung vào, nhưng trong trường hợp này, tôi đã chọn điểm F, do sự mất cân bằng của các lớp. Tuy nhiên, câu hỏi của tôi là thực sự làm thế nào để tôi có được một đại diện trung bình của điểm F cho toàn bộ phân loại chứ không phải cho mỗi lớp? Tính trung bình trên một ma trận thưa thớt mang lại cho tôi các giá trị rất thấp nhưng sẽ không đúng nếu chỉ trung bình trên các giá trị khác không. Về bản chất, vấn đề của tôi có thể được giảm xuống theo cách tốt nhất để lấy trung bình trên một ma trận thưa thớt trong đó các giá trị khác không nên được cân bằng nhiều hơn số 0
SanjanaS801

"... nhưng sẽ không đúng nếu chỉ trung bình trên các giá trị khác không". Một lần nữa - không có đúng hay sai. Vi mô, vĩ mô và có trọng số - tất cả đều có ngữ nghĩa riêng. Bạn muốn trung bình của bạn đại diện cho những gì? Tùy bạn quyết định. Nếu bạn muốn các giá trị khác không được tăng thêm trọng số - hãy tiếp tục.
Lior Kogan
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.