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

Cor*_*rey 4 python machine-learning scikits scikit-learn logistic-regression

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

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

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

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

我发现sklearn.metrics.log_loss,但当然这不是最小化的实际功能.

lej*_*lot 9

不幸的是,没有"好"的方法,但 _logistic_loss(w, X, y, alpha, sample_weight=None)https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/linear_model/logistic.py中有一个私有函数 ,因此你可以用手称呼它

from sklearn.linear_model.logistic import _logistic_loss
print _logistic_loss(clf.coef_, X, y, 1 / clf.C)
Run Code Online (Sandbox Code Playgroud)

这里clf是你的教训LogisticRegression

  • @Corey 我相信获得成本是有用的。由于成本函数是您的实际指标的替代品,因此查看您的实际指标是否随着成本最小化而变得更好很有用。这可以让您直观地了解是否应该选择一个成本函数(模型)而不是另一个,或者是否应该更改优化算法。 (2认同)