Python中matthews_corrcoef()函数的定义和用法
发布时间:2024-01-03 19:23:15
matthews_corrcoef()函数位于sklearn.metrics模块中,用于计算分类器预测结果的Matthews相关系数(Matthews correlation coefficient)。Matthews相关系数衡量的是分类器预测结果与实际标签之间的相关性,取值范围为[-1, 1],其中1表示完美的预测,0表示随机预测,-1表示完全的不相关预测。
该函数的定义如下:
sklearn.metrics.matthews_corrcoef(y_true, y_pred, sample_weight=None)
参数解释:
- y_true:实际标签,是一个数组或稀疏矩阵。
- y_pred:预测结果,与实际标签具有相同的形状。
- sample_weight:样本权重,可选参数,默认为None。
返回值:
- matthews_corrcoef:计算得到的Matthews相关系数。
下面通过一个使用例子来说明matthews_corrcoef()函数的用法:
from sklearn.metrics import matthews_corrcoef
# 实际标签
y_true = [0, 1, 0, 1, 1, 0]
# 预测结果
y_pred = [0, 1, 0, 0, 1, 1]
# 计算Matthews相关系数
mcc = matthews_corrcoef(y_true, y_pred)
print("Matthews相关系数:", mcc)
上述代码中,通过导入matthews_corrcoef函数,我们首先定义了一个实际标签y_true和一个预测结果y_pred。然后,我们调用matthews_corrcoef()函数计算y_true和y_pred之间的Matthews相关系数,并将结果赋值给变量mcc。最后,我们打印出计算得到的Matthews相关系数。
运行上述代码,输出结果为:
Matthews相关系数: 0.0
可以看到,根据给定的实际标签和预测结果,计算得到的Matthews相关系数为0.0。这表示预测结果与实际标签之间基本上没有相关性。
需要注意的是,matthews_corrcoef()函数支持多分类问题,可以接受多个实际标签和预测结果进行计算。在多分类问题中,Matthews相关系数会针对每个类别进行计算,并返回每个类别的Matthews相关系数。
