Улучшение результата задачи классификации для сильно несбалансированного набора данных - PullRequest
1 голос
/ 09 апреля 2019

Я использую модель LinearSVC с использованием sklearn для моей задачи классификации для несбалансированного набора данных и получаю результат, как показано ниже:

confusion matrix:
[[43677 28222]
 [ 5309  9575]]

classification report:
   precision    recall  f1-score   support

   class 0:       0.72      0.69      0.71    133958
   class 1:       0.70      0.73      0.72    133958

   micro avg       0.71      0.71      0.71    267916
   macro avg       0.71      0.71      0.71    267916
weighted avg       0.71      0.71      0.71    267916

               precision    recall  f1-score   support

class 0:       0.89      0.61      0.72     71899
class 1:       0.25      0.64      0.36     14884

    micro avg       0.61      0.61      0.61     86783
    macro avg       0.57      0.63      0.54     86783
 weighted avg       0.78      0.61      0.66     86783

Посмотрите на результат, есть ли у меня какие-либо предложения по его улучшению? (Я использую метод передискретизации для балансировки тренировочного набора данных)

Что меня беспокоит, так это отфильтровывать все экземпляры в классе 1 из данных. Должен ли я просто посмотреть на точность / отзыв класса 1 или использовать другие метрики, чтобы оценить, насколько хороша моя модель?

1 Ответ

0 голосов
/ 09 апреля 2019

передискретизация не поможет все время (то есть она просто дублирует выборки, чтобы сбалансировать данные). попробуйте разные подходы, например, «Метод передискретизации синтетического меньшинства». Для получения более подробной информации см. SMOTE

...