#scikit-learn #svm
#scikit-learn #svm
Вопрос:
Я запускаю модель 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.
class_weight
от scikit-learn.org/stable/modules/generated / … с избыточной выборкой и без нее должно быть одной из первых вещей, которые нужно попробовать.
Ответ №1:
передискретизация не всегда помогает (т. Е. она просто дублирует выборки для балансировки данных). попробуйте разные подходы, например, «Синтетический метод избыточной выборки меньшинства». Для получения более подробной информации обратитесь к следующему, ПОРАЖЕННОМУ