accurcy_score和precision_score可以相等吗



我正试图使用sklearn库在python 3中构建一个逻辑回归模型。

让我们继续使用下面的简短版本,

dv相关变量

idv-自变量

现在我有了idv1、idv2、idv3、idv4、idv5、idv6、idv7、idv8&idv9.

其中idv6到idv9是分类变量(idv6&idv7有3个类别。其中idv8&idv9是布尔变量。是或否类型的变量[0]或1])

dv也是一个布尔变量(是或否类型的变量)。

现在,我为所有idv6到idv9创建了一个假人,用于最终的模型数据。。。即idv6_c1、idv_6_c2、idv_c3,其余部分也遵循类似内容。。像idv8_c1、idv8_c2用于idv8&idv9.

现在,在拟合模型并找到预测值的度量之后。。。

我得到了76.7415479670124%准确度_分数76.74154796-70124%precision_score

我已经使用sklearn.metrics.precision_score

sklearn.mmetrics.precision_score我在想。。这是正确的还是我遗漏了什么。。。??

这会发生吗??。。。准确性&精度几乎等于13位小数???。。。。我确信。。。我做错了什么。。。有人能帮我吗??

精度=真阳性/(真阳性+假阳性)

准确度=(真阳性+真阴性)/(真阳性/假阳性+真阳性+假阴性)

因此,如果没有负面预测,这两个值将相等。

精度定义为检索到的相关结果的分数,由:(tp/tp+fp)给出,而精度是正确预测与输入样本总数的比率。

虽然可能性较小,但当真阴性和假阴性的数量都为零时,精度等于精度是可能的。也就是说,您的系统不会将任何样本归类为阴性。

然而,你的问题可能与这里提到的微观平均有关。

这里有一个链接来解决相同的分数结果和更详细的原则。

你只需要改变scikit学习的参数。

average = macroaverage = weighted

代码和结果来自上面的链接。(https://simonhessner.de/why-are-precision-recall-and-f1-score-equal-when-using-micro-averaging-in-a-multi-class-problem/)

参考文献:https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html

print("Precision (micro): %f" % precision_score(labels, predicitons, average='micro'))
print("Recall (micro):    %f" % recall_score(labels, predicitons, average='micro'))
print("F1 score (micro):  %f" % f1_score(labels, predicitons, average='micro'), end='nn')
print("Precision (macro): %f" % precision_score(labels, predicitons, average='macro'))
print("Recall (macro):    %f" % recall_score(labels, predicitons, average='macro'))
print("F1 score (macro):  %f" % f1_score(labels, predicitons, average='macro'), end='nn')
print("Precision (weighted): %f" % precision_score(labels, predicitons, average='weighted'))
print("Recall (weighted):    %f" % recall_score(labels, predicitons, average='weighted'))
print("F1 score (weighted):  %f" % f1_score(labels, predicitons, average='weighted'))

将得到以下结果:

Precision (micro): 0.444444
Recall (micro): 0.444444
F1 score (micro): 0.444444
Precision (macro): 0.366667
Recall (macro): 0.361111
F1 score (macro): 0.355556
Precision (weighted): 0.433333
Recall (weighted): 0.444444
F1 score (weighted): 0.429630

相关内容

  • 没有找到相关文章

最新更新