我一直在使用带有RBF SVM(二元分类器)的GridSearchCV来获取验证准确率热图。我使用的代码几乎直接来自SKlearn的网站。是否有办法从中找到敏感性和特异性?例如,对于GridSearchCV使用的参数值范围?
回答:
如果您的问题是二元或多类分类,那么混淆矩阵可能是您要找的。
from sklearn.metrics import confusion_matrixy_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的示例,估计器完全错误,因为它将唯一示例预测为类别2。
对于属于类别2的示例,估计器正确预测了66%(2/3),因为它预测了2个示例为类别2,1个为类别0。
对于二元分类:
y_true = [1, 0, 1, 0, 0, 1]y_pred = [1, 0, 1, 1, 0, 1]cm = confusion_matrix(y_true, y_pred)print cmtp = float(cm[0][0])/np.sum(cm[0])tn = float(cm[1][1])/np.sum(cm[1])print tpprint tn[[2 1] [0 3]]0.6666666666671.0
关于您在GridSearchCV中使用的参数,您可以在grid_scores_属性中找到它们。