Python 如何从sklearn'获得敏感性和特异性(真阳性率和真阴性率);你的简历是什么?

Python 如何从sklearn'获得敏感性和特异性(真阳性率和真阴性率);你的简历是什么?,python,machine-learning,scikit-learn,svm,grid-search,Python,Machine Learning,Scikit Learn,Svm,Grid Search,我一直在使用Gridsearchcv和RBF SVM(二进制分类器)来获得验证精度热图。我使用的代码几乎直接来自SKlearn的网站。有没有办法从中找到敏感性和特异性?与Gridsearchcv使用的参数值范围一样?如果您的问题是二进制或多类分类,那么可能就是您要查找的 from sklearn.metrics import confusion_matrix y_true = [2, 0, 2, 2, 0, 1] y_pred = [0, 0, 2, 2, 0, 2] confusion_ma

我一直在使用Gridsearchcv和RBF SVM(二进制分类器)来获得验证精度热图。我使用的代码几乎直接来自SKlearn的网站。有没有办法从中找到敏感性和特异性?与Gridsearchcv使用的参数值范围一样?

如果您的问题是二进制或多类分类,那么可能就是您要查找的

from sklearn.metrics import confusion_matrix

y_true = [2, 0, 2, 2, 0, 1]
y_pred = [0, 0, 2, 2, 0, 2]
confusion_matrix(y_true, y_pred)

array([[2, 0, 0],
       [0, 0, 1],
       [1, 0, 2]])
解释如下:

对于属于0类的示例,预测结果100%正确(2/2)。
对于属于第1类的例子,估计值是100%错误的,因为它预测了第2类的唯一例子。
对于属于类别2的示例,估计值的正确率为66%(2/3),因为它预测类别2有2个示例,类别0有1个示例

对于二进制分类

y_true = [1, 0, 1, 0, 0, 1]
y_pred = [1, 0, 1, 1, 0, 1]

cm = confusion_matrix(y_true, y_pred)
print cm

tp = float(cm[0][0])/np.sum(cm[0])
tn = float(cm[1][1])/np.sum(cm[1])

print tp
print tn

[[2 1]
 [0 3]]
0.666666666667
1.0
关于GridSearchCV中使用的参数,可以在属性中找到它们