我有两个类的混淆矩阵,用pandas数据帧格式预先计算出总数:Actual_class Predicted_class_0 Predicted_class_1 Total
0 0 39 73 112
1 1 52 561 613
2 All 91 634 725
我需要计算精度和调用使用一个循环,因为我需要更多类的一般情况下的解决方案。在
0级精度为39/91,1级精度为561/634。
0级的召回率为39/112,1级的召回率为561/613。在
所以我需要通过对角线和总计迭代得到以下结果
^{pr2}$
总计(所有行和总计列)将在后面删除,因此没有必要计算它们。在
我尝试了以下代码,但它不按对角线进行,并丢失类0的数据:cols = [c for c in cross_tab.columns if c.lower()[:4] == 'pred']
for c in cols:
cross_tab["Precision"] = cross_tab[c]/cross_tab[c].iloc[-1]
for c in cols:
cross_tab["Recall"] = cross_tab[c]/cross_tab['Total']
我是熊猫矩阵操作的新手,真的需要你的帮助。在
我相信有一种方法可以不用预先计算总数。在
非常感谢!!!在