python计算灵敏度和特异度
时间: 2023-06-18 10:06:50 浏览: 355
在机器学习中,灵敏度(Sensitivity)和特异度(Specificity)是常用的评价指标,用于衡量模型的性能。灵敏度衡量的是模型对正例样本的识别能力,而特异度则衡量模型对负例样本的识别能力。
下面是 Python 中计算灵敏度和特异度的示例代码:
```python
# 导入必要的库
import numpy as np
from sklearn.metrics import confusion_matrix
# 定义真实值和预测值
y_true = np.array([1, 1, 0, 1, 0, 0, 1, 0, 0, 1])
y_pred = np.array([1, 1, 0, 0, 1, 0, 1, 0, 1, 1])
# 计算混淆矩阵
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
# 计算灵敏度和特异度
sensitivity = tp / (tp + fn)
specificity = tn / (tn + fp)
print("Sensitivity:", sensitivity)
print("Specificity:", specificity)
```
在上述示例代码中,首先我们导入了必要的库,然后定义了真实值和预测值。接着,我们使用 `confusion_matrix()` 函数计算混淆矩阵,并使用 `.ravel()` 方法将其展开为四个变量:真反例(True Negative,tn)、假正例(False Positive,fp)、假反例(False Negative,fn)和真正例(True Positive,tp)。
最后,我们使用上述变量计算灵敏度和特异度,并将其打印输出。
阅读全文