【发布时间】:2020-12-25 21:23:02
【问题描述】:
考虑 sklearn 文档中关于 log_loss 的示例:
from sklearn.metrics import log loss
log_loss(["spam", "ham", "ham", "spam"], [[.1, .9], [.9, .1], [.8, .2], [.35, .65]])
运行此程序,我们得到 ~0.216 的输出。该模型在分类火腿和垃圾邮件方面相当出色。
sklearn怎么知道第一个概率是ham,第二个概率是spam?
如果我想翻转标签,即第一个是spam,第二个是ham,我该怎么做?显式提供标签参数不起作用:
log_loss(["spam", "ham", "ham", "spam"], [[.1, .9], [.9, .1], [.8, .2], [.35, .65]], labels=["ham", "spam"])
输出:0.216。
log_loss(["spam", "ham", "ham", "spam"], [[.1, .9], [.9, .1], [.8, .2], [.35, .65]], labels=["spam", "ham"])
输出:0.216。
请注意,这不是this question on the stats Stack Exchange 中关于真值标签顺序的问题,而是关于概率顺序的问题。
【问题讨论】:
标签: python scikit-learn classification