bg:对比决策树来说,搞多几棵树就是随机森林了
rlf_1 = []
rlf_2 = []
for i in range(10):rfc = RandomForestClassifier(n_estimators=25)rfc_s = cross_val_score(rfc, wine.data, wine.target, cv=10).mean()rlf_1.append(rfc_s)clf = DecisionTreeClassifier()clf_s = cross_val_score(clf, wine.data, wine.target, cv=10).mean()rlf_2.append(clf_s)plt.plot(range(1, 11), rlf_1, label="Random Forest")
plt.plot(range(1, 11), rlf_2, label="Decision Forest")
plt.legend()
plt.show()
一、参数
1、n_estimatiors
越大就效果越好,同时也消耗更多资源
superpa = []
for i in range(200):rfc = RandomForestClassifier(n_estimators=i+1, n_jobs=-1) # n_jobs是调整调用的cpu核心rfc_s = cross_val_score(rfc, wine.data, wine.target, cv=10).mean()superpa.append(rfc_s)
print(max(superpa), superpa.index(max(superpa)))
plt.figure(figsize=[20, 5]) # 调整生成的尺寸
plt.plot(range(1, 201), superpa)
plt.show()
2、n_jobs
调用的cpu核心,-1就是调用全部
3、oob_score
true的时候,所有的数据都会用于测试和训练,对单棵树自动分测试和训练集,如果想要整个森林的测试得分就直接“模型.oob_score_”。
二、接口
1、predict_proba
在每个target的概率