在进行分类任务时,会出现UndefinedMetricWarning问题,出现这种问题的原因是y_true包含y_pred不存在的标签,说明分类器有问题。
我在进行命名实体识别时,训练阶段,某一个iteration打印指标时,会出现这个警告,说明此时模型是有问题的,那就继续训练,后面没有出现过这个问题。
下面举一个简单的例子:
import numpy as np
from sklearn.metrics import classification_report
y_true = np.ones(10,)
y_pred = np.ones(10,)
y_true[0] = 0
cr = classification_report(y_true, y_pred)
print(cr)
若不想出现类似警告(UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use zero_division parameter to control this behavior.),可以设置参数zero_division=1删除此警告。
import numpy as np
from sklearn.metrics import classification_report
y_true = np.ones(10,)
y_pred = np.ones(10,)
y_true[0] = 0
cr = classification_report(y_true, y_pred,zero_division=1)
print(cr)