указание значения поддержки classification_report для несбалансированного класса

#scikit-learn #binary #classification #confusion-matrix

#scikit-learn #двоичный #классификация #путаница-матрица

Вопрос:

У меня есть несбалансированный набор данных, в котором я пытаюсь выполнить двоичную классификацию. Наконец, я использовал несколько алгоритмов CatBoostClassifier и lightgbm получил сравнительно лучшие результаты. У меня есть вопрос , который я хотел бы задать относительно classification_report » и confusion_matrix » .

Как вы можете видеть из моего classification_report : — True Negatives : 1076, — False Positives : 0, — False Negatives : 1, — True Positives : 6.

Значение Sensitivity : 0,86 и Specificity 1,00 , что означает, что мое false positive rate значение равно 0,0.

У меня есть предположение, что это действительно сработало очень хорошо.

Из classification_report этого следует, что моя модель, возможно, была переоборудована или она действительно работала хорошо?

Я спрашиваю об этом, потому support 1 что класс of (который меньше по количеству) равен 7, тогда 0 как класс of равен 1076.

По ссылке говорится, что: «Поддержка — это количество выборок истинного ответа, которые лежат в этом классе». Но я действительно не понимаю смысла здесь.

Кто-нибудь может объяснить мне или дать мне знать, был ли мой алгоритм перегружен или работал хорошо?

Соотношение этикеток:

 0    5550
1      60
 

Отчет о классификации

               precision    recall  f1-score   support

         0.0       1.00      1.00      1.00      1076
         1.0       1.00      0.86      0.92         7

    accuracy                           1.00      1083
   macro avg       1.00      0.93      0.96      1083
weighted avg       1.00      1.00      1.00      1083
 

Матрица путаницы:

 [[1076    0]
 [   1    6]]
 

Ответ №1:

Вы сможете лучше понять ситуацию, если посмотрите на отчет о классификации как тренировочного набора, так и тестового набора вместе, вы просто не можете ничего сказать наверняка, просто посмотрев либо на производительность на тренировочном наборе, либо на тренировочный набор в одиночку. Но если мы предположим, что показатели производительности, которые вы показали здесь, относятся к тестовому набору и что производительность в наборе поездов также более или менее похожа на то, что вы наблюдаете в тестовом наборе, тогда я бы сказал, что модель проделала хорошую работу. Отзыв для класса 1 86% , учитывая тот факт, что он формируется только 1% из вашего набора данных, довольно хорош.

Кроме того, поддержка относится к общему количеству примеров, принадлежащих определенному классу в вашем наборе данных, например, в вашем случае поддержка для class 0 есть 5550 , а для class 1 есть 60

Комментарии:

1. Спасибо за ваш комментарий и объяснение. Да, действительно, это отчет о классификации из набора тестов, и я только что проверил отчет о классификации для набора поездов. Это лучше, чем набор тестов. Итак, я бы сказал, основываясь на вашем объяснении, что это сработало хорошо. Еще раз спасибо! 🙂

2. Но как мне проверить, подходит ли моя модель или нет?

3. Если производительность в наборе поездов намного выше, чем в вашем тестовом наборе, то, вероятно, ваша модель переоснащена..