Sklearn LogisticRegression без регуляризации

Класс логистической регрессии в sklearn поставляется с регуляцией L1 и L2. Как отключить регуляризацию, чтобы получить "сырую" логистическую форму, например, в glmfit в Matlab? Я думаю, что могу установить C = большое число, но я не думаю, что это мудро.

см. более подробную информацию о документации http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression

Ответ 1

Да, выберите максимально возможное число. В регуляризации функция стоимости включает выражение регуляризации и имейте в виду, что параметр C в регуляризации sklearn является обратным к степени регуляризации.

C в этом случае равно 1/лямбда при условии, что C> 0.

Поэтому, когда C приближается к бесконечности, тогда лямбда приближается к 0. Когда это происходит, функция стоимости становится вашей стандартной функцией ошибки, поскольку выражение регуляризации для всех намерений и целей становится 0.

Ответ 2

Идите вперед и установите C как можно больше. Кроме того, не забудьте использовать l2, поскольку l1 с этой реализацией может быть очень медленным.

Ответ 3

Я получил тот же вопрос и опробовал ответ в дополнение к другим ответам:

Если установить C на большое значение не работает для вас, также установите penalty='l1'.