2015-12-16 3 views
0

Я участвую в конкурсе Kaggle San Francisco Crime, и в настоящее время я пытаюсь определить количество различных классификаторов для тестирования тестов. Я использую LogisticRegressionClassifier из sklearn без настройки параметров, и я заметил из sklearn.metrict.classification_report, что он только предсказывает преобладающие классы, т. Е. классы, которые имеют наибольшее количество вхождений в моем учебном наборе.Логистическая регрессия распознает только преобладающие классы

Intuition сообщает мне, что это необходимо для настройки параметров, но я не уверен, какие параметры мне нужно подкрутить, чтобы сделать классификатор более осведомленным о менее преобладающих классах (LogisticRegressionClassifier имеет немало). На данный момент он предсказывает только 3 класса из 38 или smth, так что это определенно нуждается в улучшении.

Любые идеи?

+0

Вы должны опубликовать часть своего кода, часть, которая, по вашему мнению, более актуальна. Он предоставляет информацию, которую вы, возможно, не сообщили. – g24l

+0

Что произойдет, если вы используете параметр 'class_weight = 'balanced''? –

+0

Также посмотрите на GridSearchCV и подобные классы, возможно, они помогут найти хорошие гиперпараметры. –

ответ

0

Если ваша модель классифицирует только преобладающие классы, вы сталкиваетесь с проблемами классов дисбаланса. Вот некоторые из них: good reads, чтобы справиться с этим в процессе машинного обучения.

Логистическая регрессия - это двоичный классификатор и использует метод one-vs-all или one-vs-one для классификации многоклассов, что не очень хорошо, если у вас есть более высокое количество выходных классов (33 в вашем случае). Попробуйте использовать другой классификатор. Для начала используйте softmax classifier, который является расширением логистического классификатора, имеющего поддержку классификации по нескольким классам. В scikit learn установить multi_class переменную как multinomial для использования регрессии softmax.

Другой способ улучшить вашу модель может использовать GridSearch для настройки параметров.

На боковой ноте я бы рекомендовал вам использовать и другие модели.

Смежные вопросы