2017-03-20 17 views
2

私は2つのモデルを構築しています。凡例とAUCスコアを1つのプロットに複数のROC曲線をプロットするにはどうすればいいですか?

モデル1

modelgb = GradientBoostingClassifier() 
modelgb.fit(x_train,y_train) 
predsgb = modelgb.predict_proba(x_test)[:,1] 
metrics.roc_auc_score(y_test,predsgb, average='macro', sample_weight=None) 

モデル2

model = LogisticRegression() 
model = model.fit(x_train,y_train) 
predslog = model.predict_proba(x_test)[:,1] 
metrics.roc_auc_score(y_test,predslog, average='macro', sample_weight=None) 

どのように私は、各モデルのAUCスコアの伝説&テキストで、1つのプロットにROC曲線の両方をプロットしますか?

+0

あなたはどのライブラリを使用していますか? – Julien

+0

私はmatplotlibを持っていますが、あなたが示唆できるものは何でも - 関連するライブラリをインポートできます – Pb89

+0

私はモデルを求めていました... – Julien

答えて

2

は、あなたのデータにこれを適応してみてください。

from sklearn import metrics 
import numpy as np 
import matplotlib.pyplot as plt 

plt.figure(0).clf() 

pred = np.random.rand(1000) 
label = np.random.randint(2, size=1000) 
fpr, tpr, thresh = metrics.roc_curve(label, pred) 
auc = metrics.roc_auc_score(label, pred) 
plt.plot(fpr,tpr,label="data 1, auc="+str(auc)) 

pred = np.random.rand(1000) 
label = np.random.randint(2, size=1000) 
fpr, tpr, thresh = metrics.roc_curve(label, pred) 
auc = metrics.roc_auc_score(label, pred) 
plt.plot(fpr,tpr,label="data 2, auc="+str(auc)) 

plt.legend(loc=0) 
関連する問題