Как я могу использовать логистическую регрессию, основанную на регуляризациях l1 и l2?

#python

#python

Вопрос:

Недавно я скопировал свои коды с R на Python, и мне нужна помощь в отношении кодов. Насколько я знаю, логистическая регрессия в sklearn включает только l1 или l2 регуляризованный термин, который представляет регрессию лассо и гребня соответственно. Однако реализация как регуляризованных терминов l1, так и l2, т. Е. ElasticNet, может быть намного лучше.

В случае R существует примечательный пакет glmnet , который может идеально реализовать вышеуказанные идеи, тогда как пакет glmnet в python, похоже, поддерживает только систему Linux вместо Windows 10 на моем компьютере (пожалуйста, обратитесь к этому) Кроме того, будет намного лучше, если пакет сможет визуализировать результат (например, путь усадки)

 #logtistic with penalty terms in sklearn
from sklearn.linear_model import LogisticRegression

LogisticRegression(C=0.1,random_state=seed,penalty='l1')
LogisticRegression(C=0.1,random_state=seed,penalty='l2')
  

Комментарии:

1. Ну, я нахожу sklearn.linear_model.SGDClassifier, который кажется правильной моделью, реализуя функцию потерь как «log», а штраф — как «elasticnet». Итак, оставшаяся проблема — это способ визуализации результата (см. github.com/bbalasub1/glmnet_python/blob/master/test /… )

Ответ №1:

 sklearn.linear_model.SGDClassifier(loss='log', penalty='elasticnet')
  

Комментарии:

1. Спасибо за ваш ответ. На самом деле, в приведенном выше ответе я нашел этот метод. Мне было интересно, смогу ли я визуализировать результат? Например, путь усадки.