2 隨機森林 Random Forest

2021-10-01 19:07:00 字數 1458 閱讀 4673

今天學了菜菜第二章,隨機森林。順便回顧了昨天學的決策樹。

具體學到了什麼 總結到下面用**和注釋的形式給出,相當於給自己理清楚思路。

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 隨機森林 演算法是通過訓練多個決策樹,生成模型,然...