我在Python工作,我试图从我训练有素的模型中获得f1分数。文档将语法列为:
f1_score(y_true, y_pred, average='macro')
但是我无法弄清楚y_true和y_pred应该是什么。逻辑上y_true应该是y的真值,而y_pred应该是y的预测值但是根据该定义我一次只能检查一个值,我是否遗漏了某些东西,或者有没有办法检查整个y数据集?
答案 0 :(得分:1)
F分数是数据集精度和召回的重量平均值。即你预测的哪一部分是真实的,你预测了哪些部分的真实性:https://en.wikipedia.org/wiki/F1_score
我相信Sklearn的函数需要y_true和y_pred的数组或标签矩阵,其中y_true是"第i个元素的实际标签" y_pred是第i个元素"的预测/分类标签。每个的顺序必须匹配!排序是允许Sklean计算所有预测的F分数而不仅仅是单个值。
e.g。如果我使用分类器/模型对5个人进行预测以获得癌症:
y_pred = [True, False, True, False, False]
我发现只有第三个人得了癌症:</ p>
y_true = [False, False, True, False False]
查看Sklearn文档中的示例了解更多信息:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html