python计算7行七列的矩阵特异度和灵敏度
时间: 2023-10-16 22:09:16 浏览: 182
Sens_spec_calc.zip:灵敏度和特异度计算-matlab开发
这里假设矩阵已经存在,可以用numpy库进行处理。
特异度(Specificity)和灵敏度(Sensitivity)是二分类模型的评估指标,分别表示模型在预测负样本和正样本时的准确率。具体计算方法如下:
特异度 = TN / (TN + FP)
灵敏度 = TP / (TP + FN)
其中,TN表示真实负样本被正确预测为负样本的数量,FP表示真实负样本被错误预测为正样本的数量,TP表示真实正样本被正确预测为正样本的数量,FN表示真实正样本被错误预测为负样本的数量。
下面是代码实现:
```python
import numpy as np
# 构造一个7行7列的随机矩阵作为样本的真实值
y_true = np.random.randint(0, 2, size=(7, 7))
# 构造一个7行7列的随机矩阵作为样本的预测值
y_pred = np.random.randint(0, 2, size=(7, 7))
# 计算TP、TN、FP、FN
TP = np.sum(np.logical_and(y_true == 1, y_pred == 1))
TN = np.sum(np.logical_and(y_true == 0, y_pred == 0))
FP = np.sum(np.logical_and(y_true == 0, y_pred == 1))
FN = np.sum(np.logical_and(y_true == 1, y_pred == 0))
# 计算特异度和灵敏度
specificity = TN / (TN + FP)
sensitivity = TP / (TP + FN)
print("特异度:", specificity)
print("灵敏度:", sensitivity)
```
此代码的输出结果将是特异度和灵敏度的值。
阅读全文