【发布时间】:2017-10-29 21:03:46
【问题描述】:
我有 21 节课。我正在使用随机森林。我想绘制一条ROC曲线,所以我查看了scikit中的例子ROC with SVM
该示例使用 SVM。 SVM 具有 RF 没有的参数,例如:probability 和 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()。你可以使用它。
标签: python-3.x scikit-learn random-forest roc