如何在 Python 中找到 Matthews 相关系数 (MCC)?

数据挖掘 Python scikit-学习 评估
2022-02-11 05:13:04

我想为二进制 Sklearn 机器学习模型所做的预测找到 Matthews 相关系数 (MCC)。我该怎么做?

1个回答

取自 sklearn 中的 Matthews Correlation Coefficient 文档:

Matthews 相关系数在机器学习中用作衡量二元和多类分类质量的指标。它考虑了真假阳性和阴性,通常被认为是一种平衡的度量,即使类别的大小非常不同也可以使用。MCC本质上是-1和+1之间的相关系数值。+1 的系数表示完美预测,0 表示平均随机预测,-1 表示逆预测。该统计量也称为 phi 系数。

因此,让实际目标和预测值在以下范围内非常重要:-1 和 +1。考虑到这一点,您可以简单地运行以下代码:

> from sklearn.metrics import matthews_corrcoef
> y_true = [+1, +1, +1, -1]
> y_pred = [+1, -1, +1, +1]
> matthews_corrcoef(y_true, y_pred)  

-0.33...

有关公式的更多详细信息,请参阅Matthews Correlation Coefficient的 Wikipedia 页面