Проблема, с которой вы сталкиваетесь при логистической регрессии, называется недостаточной подгонкой, это очень распространенная проблема для простых моделей машинного обучения. Под этим я подразумеваю, что модель не корректно подстраивается под данные. Это может происходить по разным причинам:
Первая проблема может быть решена путем увеличения емкости / сложности вашей модели (с LR это невозможно) или выбора более сложной. Одна из проблем LR состоит в том, что он может обрабатывать только правильно линейно разделимые данные, в противном случае у него будут проблемы с предоставлением правильных прогнозов (например, XOR не является линейно разделимым).
Чтобы решить вторую проблему, вы можете использовать другой метод, кроме градиентного спуска, для расчета значения весов. Хотя, если вы хотите использовать градиентный спуск, вы должны настроить некоторые гиперпараметры Градиентный спуск работает, пытаясь найти глобальные минимумы функции потерь / затрат, это означает, что он пытается найти правильный ответ, делая маленькие шаги в направлении с самым крутым наклоном. Чтобы лучше приблизиться к весам, вы можете понизить скорость обучения (для этого потребуется больше итераций). Вы также можете изменить тип инициализации для весов, лучшая отправная точка означает более быструю сходимость. Наконец, вы можете изменить функцию потери.
Надеюсь, что поможет!