如何在sklearn中获得模型损失

时间:2018-06-05 17:55:37

标签: python scikit-learn

每当sklearn模型适合某些数据时,它就会使某些损失函数最小化。如何使用该损失函数获得模型损失?

e.g。

model = sklearn.linear_model.LogisticRegression().fit(X_train,y_train)
model.get_loss(X_train, y_train) #gives the loss for these values
model.get_loss(X_test, y_test) #gives the loss for other values

请注意,.score方法不会这样做。

1 个答案:

答案 0 :(得分:2)

LogisticRegression可以最大限度地减少日志丢失,因此您可以预期损失为.score,只会被忽略。但是,这实际上会返回mean accuracy

要计算日志丢失,您需要使用log_loss指标:

我没有测试过,但是这样的话:

from sklearn.metrics import log_loss

model = sklearn.linear_model.LogisticRegression().fit(X_train, y_train)

loss = log_loss(X_test, model.predict_proba(X_test), eps=1e-15)