今天學了菜菜第二章,隨機森林。順便回顧了昨天學的決策樹。
具體學到了什麼 總結到下面用**和注釋的形式給出,相當於給自己理清楚思路。
from sklearn.model_selection import train_test_split
xtrain, xtest, ytrain, ytest = train_test_split(wine.data,wine.target,test_size=0.3)
# 劃分為訓練集和測試集的**
rfc=randomforestclassifier(random_state=0)
rfc=rfc.fit(xtrain,ytrain)
score_r=rfc.score(xtest,ytest)
# 建隨機森林來分析的**
clf=decisiontreeclassifier(random_state=0)
clf=clf.fit(xtrain,ytrain)
score_c=clf.score(xtest,ytest)
# 建決策樹來分析的**
rfc_l =
for i in range(10):
rfc = randomforestclassifier(n_estimators=25)
rfc_s = cross_val_score(rfc, wine.data, wine.target, cv=10).mean()
# 定義列表 用來存每次評測的分數
# n_estimators是森林中樹木的數量,即基評估器的數量
# cross_val_score是交叉驗證法(cross validation),
# 也叫k折交叉驗證法。引數:(隨機森林,資料,標籤,cv) cv:每次的測試折數
import matplotlib.pyplot as plt# 畫圖用plot,在matplotlib的子庫pyplot裡
plt.plot(range(1,11),rfc_l,label = "random forest")
plt.plot(range(1,11),clf_l,label = "decision tree")
# plt畫圖的語句 標準寫法
plt.legend()
plt.show()
rfc.feature_importances_
# 是返回特徵的重要性
# 這個屬性最重要
rfc.predict(xtest)
# 輸入測試集 返回每個測試樣本的標籤
rfc.predict_proba(xtest)
# 這個介面返回每個測試樣本對應的被分到每一類標籤的概率,
# 標籤有幾個分類 就返回幾個概率。
隨機森林 2
選擇根節點 當樹的高度越大的時候,說明劃分的效果越細緻,切分的節點越多,導致一直切分,學到一些雜訊點,樹太高的原因是切的節點太多了。所以可能發生過擬合的現象。1 如何選擇根節點 分別以4個節點為根節點,計算熵值。先計算熵,然後各自的熵值乘以概率,最後在求和計算熵值之和。然後在和最初的熵值0.940比...
隨機森林隨機 三
2018年7月22日 陣雨 感冒發燒喉嚨疼,只因為一杯正常冰的奶蓋!以後得少喝加冰的東西了.前面說的是整合學習的兩種形式,這跟隨機森林有啥關係呢?隨機森林是bagging的乙個擴充套件變體.簡單的來說,當bagging演算法中的base learner為決策樹並在訓練決策樹的過程中加入隨機屬性選擇,...
隨機森林演算法
random forest是加州大學伯克利分校的breiman leo和adele cutler於2001年發表的 中提到的新的機器學習演算法,可以用來做分類,聚類,回歸,和生存分析,這裡只簡單介紹該演算法在分類上的應用。random forest 隨機森林 演算法是通過訓練多個決策樹,生成模型,然...