为什么它不起作用:
from sklearn.metrics import log_loss
y_true = [0, 0, 0, 0]
y_pred = [0.5, 0.5, 0.5, 0.5]
log_loss(y_true, y_pred, eps=1e-15)
Error: ValueError: Unknown label type: ((0.5, 0.5, 0.5, 0.5),)
为什么它不起作用:
from sklearn.metrics import log_loss
y_true = [0, 0, 0, 0]
y_pred = [0.5, 0.5, 0.5, 0.5]
log_loss(y_true, y_pred, eps=1e-15)
Error: ValueError: Unknown label type: ((0.5, 0.5, 0.5, 0.5),)
log_loss不知道(无法推断)有哪些标签,因为您的示例中只有一个唯一标签。
from sklearn.metrics import log_loss
y_true = [0] * 4
y_pred = [0.5] * 4
log_loss(y_true, y_pred, labels=[0, 1]) # 0.6931471805599453
或者,如果 中存在多个唯一标签,则可以推断标签y_true:
from sklearn.metrics import log_loss
y_true = [0, 0, 0, 0, 1]
y_pred = [0.2, 0.4, 0.3, 0.7, 0.99]
log_loss(y_true, y_pred) # 0.46093345183967405