问题描述
我正在使用一个训练模型对一些样本(类数: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 (将#修改为@)