如何解决马修斯相关性提高除以零误差
我正在使用一个训练模型对一些样本(类数:117)进行分类,该模型输出一个形状为 n_samples x n_classes
的矩阵。每一行是一个样本的输出,每一列是我模型输出层中一个神经元给出的输出。类似的东西:
[[0.3,-0.47,0.1],#sample 1
[0.124,0.442,-0.111],#sample 2
... # and so on
]
然后计算最终预测:
pred_labels = np.argmax(predictions,axis=1).flatten()
然后我使用 sklearn.metrics.matthews_corrcoef
计算 matthews 相关性:
matthews = mattews_corrcoef(true_labels,pred_labels)
这是一个警告:
invalid value encountered in double_scalars
在 SO 中做了一些研究,这主要是由除以零操作引起的。然后我设置 np.seterr('raise)
来调试这个操作在哪里,然后我到达这一行:
--> 900 mcc = cov_ytyp / np.sqrt(cov_ytyt * cov_ypyp)
这让我相信这个操作的分母出于某种原因是 0。我仔细检查了预测和训练阶段,但没有发现错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。