考慮 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
提交
取消