如何评估scikit的成本函数学习LogisticRegression?

在使用sklearn.linear_model.LogisticRegression来拟合训练数据集之后,我想获得训练数据集和交叉验证数据集的成本函数的值.

是否可以让sklearn简单地给我最小化函数的值(在最小值)?

该功能在http://scikit-learn.org/stable/modules/linear_model.html#logistic-regression的文档中说明(取决于所选择的正则化).但我找不到如何让sklearn给我这个功能的价值.

我原以为这就是LogisticRegression.score所做的,但这只是返回准确性(其预测正确分类的数据点的比例).

我找到了sklearn.metrics.log_loss,但当然这不是最小化的实际函数.

最佳答案 不幸的是,没有“好”的方法,但有一个私人功能


https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/logistic.py中_logistic_loss(w,X,y,alpha,sample_weight =无),因此您可以手动调用它

from sklearn.linear_model.logistic import _logistic_loss
print _logistic_loss(clf.coef_, X, y, 1 / clf.C)

其中clf是您学习的LogisticRegression

点赞