python计算矩阵的特异度和灵敏度
时间: 2023-10-15 16:04:25 浏览: 171
Sens_spec_calc.zip:灵敏度和特异度计算-matlab开发
特异度和灵敏度是统计学中用于评估二分类模型性能的指标。在矩阵计算中,可以使用以下公式计算特异度和灵敏度:
特异度 = TN / (TN + FP)
灵敏度 = TP / (TP + FN)
其中,TP表示真正例(True Positive),即被正确预测为正例的样本数;FP表示假正例(False Positive),即被错误预测为正例的样本数;FN表示假反例(False Negative),即被错误预测为反例的样本数;TN表示真反例(True Negative),即被正确预测为反例的样本数。
假设有一个2x2的混淆矩阵如下:
| | 预测为正例 | 预测为反例 |
|--------|------------|------------|
| 实际为正例 | 10 | 5 |
| 实际为反例 | 2 | 13 |
则可以使用以下代码计算特异度和灵敏度:
```python
import numpy as np
confusion_matrix = np.array([[10, 5], [2, 13]])
TP = confusion_matrix[0, 0]
FP = confusion_matrix[0, 1]
FN = confusion_matrix[1, 0]
TN = confusion_matrix[1, 1]
specificity = TN / (TN + FP)
sensitivity = TP / (TP + FN)
print("特异度为:", specificity)
print("灵敏度为:", sensitivity)
```
输出结果为:
```
特异度为: 0.7222222222222222
灵敏度为: 0.8333333333333334
```
阅读全文