正确计算Sklearn中的F1分数
Correctly calculating the F1 score in Sklearn
我在 Python 工作,我正试图从我训练的模型中获得我的 f1 分数。文档列出的语法为:
f1_score(y_true, y_pred, average='macro')
但我不知道 y_true 和 y_pred 应该是什么。从逻辑上讲,y_true 应该是 y 的真实值,y_pred 应该是 y 的预测值,但根据该定义,我一次只能检查一个值,是我遗漏了什么,还是那里一种根据整个数据集检查它的方法?
F 分数是数据集准确率和召回率的加权平均值。即,您的预测有哪些部分是正确的,您预测的有哪些部分是正确的:https://en.wikipedia.org/wiki/F1_score
我相信 Sklearn 的函数需要 y_true 和 y_pred 的标签数组或矩阵,其中 y_true 是 "actual label of i-th element",y_pred 是 "predicted/classified label of the i-th element"。每个的顺序必须匹配!排序允许 Sklean 计算所有预测的 F 分数,而不是仅仅计算一个值。
例如如果我使用 classifier/model 来预测 5 个人会患癌症:
y_pred = [True, False, True, False, False]
我发现只有第三个人得了癌症:
y_true = [False, False, True, False False]
查看 Sklearn 文档中的示例以获取更多信息:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html
我在 Python 工作,我正试图从我训练的模型中获得我的 f1 分数。文档列出的语法为:
f1_score(y_true, y_pred, average='macro')
但我不知道 y_true 和 y_pred 应该是什么。从逻辑上讲,y_true 应该是 y 的真实值,y_pred 应该是 y 的预测值,但根据该定义,我一次只能检查一个值,是我遗漏了什么,还是那里一种根据整个数据集检查它的方法?
F 分数是数据集准确率和召回率的加权平均值。即,您的预测有哪些部分是正确的,您预测的有哪些部分是正确的:https://en.wikipedia.org/wiki/F1_score
我相信 Sklearn 的函数需要 y_true 和 y_pred 的标签数组或矩阵,其中 y_true 是 "actual label of i-th element",y_pred 是 "predicted/classified label of the i-th element"。每个的顺序必须匹配!排序允许 Sklean 计算所有预测的 F 分数,而不是仅仅计算一个值。
例如如果我使用 classifier/model 来预测 5 个人会患癌症:
y_pred = [True, False, True, False, False]
我发现只有第三个人得了癌症:
y_true = [False, False, True, False False]
查看 Sklearn 文档中的示例以获取更多信息:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html