2016-03-27 43 views
1

私はRBF SVM(バイナリクラシファイア)でGridsearchcvを使用して検証精度ヒートマップを取得しています。私が使ったコードは、SKlearnのウェブサイトからかなりまっすぐです。このことから感度と特異性を見つける方法はありますか? Gridsearchcvで使用されるパラメータ値の範囲と同様?sklearnのgridsearchcvから感度と特異度(真陽性率と真の陰性率)を取得するにはどうすればいいですか?

答えて

2

問題がバイナリまたはマルチクラスの分類の場合は、confusion matrixがあなたが探しているものかもしれません。

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に属する例について

estimatorは(2/2)正しくの100%を予測しました。
クラス1に属するサンプルでは、​​クラス2の唯一の例を予測したため、推定値は100%間違っていました。
クラス2に属するサンプルでは、​​予測値が66%(2/3) バイナリ分類のクラス0

に、クラス2と1から2例:あなたのGridSearchCVで使用されるパラメータについて

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 

は、あなたがgrid_scores_属性でそれらを見つけることができます。

関連する問題