我有21個班。我正在使用RandomForest。我想繪製ROC曲線,所以我在scikit中檢查了示例ROC with SVM如何將RandomForest二進制化以在Python中繪製ROC?
該示例使用SVM。支持向量機具有如下參數:概率和RF不具有的decision_function_shape。
那麼如何二值化RandomForest並繪製ROC?
謝謝
編輯
要創建假數據。所以有20個特徵和21個類別(每個類別3個樣本)。
df = pd.DataFrame(np.random.rand(63, 20))
label = np.arange(len(df)) // 3 + 1
df['label']=label
df
#TO TRAIN THE MODEL: IT IS A STRATIFIED SHUFFLED SPLIT
clf = make_pipeline(RandomForestClassifier())
xSSSmean10 = []
for i in range(10):
sss = StratifiedShuffleSplit(y, 10, test_size=0.1, random_state=i)
scoresSSS = cross_validation.cross_val_score(clf, x, y , cv=sss)
xSSSmean10.append(scoresSSS.mean())
result_list.append(xSSSmean10)
print("")
'predict_proba()'相當於'decision_function()'。你可以使用它。 –