Рассчитать остаточное отклонение от модели логистической регрессии scikit-learn

3

Есть ли способ рассчитать остаточное отклонение модели регрессии модели scikit-learn? Это стандартный вывод из резюме модели R, но я не мог найти ее в документации по sklearn.

Теги:
scikit-learn
logistic-regression
regression

2 ответа

2
Лучший ответ

На самом деле, вы можете. Отклонение тесно связано с перекрестной энтропией, которая находится в sklearn.metrics.log_loss. Отклонение составляет всего 2 * (loglikelihood_of_saturation_model - loglikelihood_of_fitted_model). Scikit Learn может (без больших настроек) обрабатывать только отдельные экземпляры, так что логарифмическая вероятность насыщенной модели будет равна нулю. Перекрестная энтропия, возвращаемая log_loss является отрицательной логарифмической вероятностью. Таким образом, отклонение просто

def deviance(X, y, model):
    return 2*metrics.log_loss(y, model.predict_log_proba(X))

Я знаю, что это очень поздний ответ, но я надеюсь, что в любом случае это поможет.

  • 0
    Должно ли это быть model.predict_log_proba или просто .predict_proba ? В документации log_loss указано, что вторым аргументом y_pred должны быть вероятности ...
1

Вы не можете сделать это в scikit-learn, но проверьте statsmodels, GLMResults (API)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню