考虑 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,我该怎么做?显式提供 labels 参数不起作用: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。
1 回答
慕少森
TA贡献2019条经验 获得超9个赞
sklearn.metrics.log_loss
假设概率标签按字母顺序排列。
要翻转标签,您需要按相反的字母顺序重命名它们,例如aspam
和bham
:
from sklearn.metrics import log_loss log_loss(["aspam", "bham", "bham", "aspam"], [[.1, .9], [.9, .1], [.8, .2], [.35, .65]])
输出:~1.816。
添加回答
举报
0/150
提交
取消