Scikit Learn Потеря журнала LogisticRegression увеличивается при добавлении функций - PullRequest
0 голосов
/ 06 июня 2018

Я выполняю полиномиальную логистическую регрессию для переменных в наборе данных NHTS 2017 .Согласно документам, sklearn.linear_model.LogisticRegression использует кросс-энтропийную потерю (log log) в качестве функции потерь для оптимизации модели.Однако, поскольку я добавляю новые функции и подгоняю модель, потери, похоже, не уменьшаются монотонно.В частности, если я подгоняю количество водителей в домохозяйстве на владение транспортным средством (количество водителей - самая прогнозируемая переменная для владения транспортным средством), я получаю меньше потерь, чем если бы я разбирал все переменные без разбора.

Возможно, это связано сsklearn.metrics.log_loss делает что-то отличное от фактической функции потерь для LogisticRegression.Возможно, проблема стала настолько невыпуклой, что она находит дерьмовое решение.Кто-нибудь может объяснить, почему моя потеря будет увеличиваться , когда я добавляю функции?

1 Ответ

0 голосов
/ 06 июня 2018

Причин может быть несколько, но я предполагаю следующее:

  • penalty - по умолчанию логистическая регрессия обучается со штрафом l2 для предотвращения переобучения.В этом случае функция потерь - это кросс-энтропийная потеря плюс норма веса l2.В результате, больше возможностей не обязательно гарантирует, что сама кросс-энтропия уменьшится.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...