教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

隨機(jī)森林構(gòu)造有哪些步驟?隨機(jī)森林案例展示

更新時間:2021年09月16日17時11分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

在機(jī)器學(xué)習(xí)中,隨機(jī)森林是一個包含多個決策樹的分類器,并且其輸出的類別是由個別樹輸出的類別的眾數(shù)而定。

隨機(jī)森林 = Bagging + 決策樹

例如, 如果你訓(xùn)練了5個樹, 其中有4個樹的結(jié)果是True, 1個樹的結(jié)果是False, 那么最終投票結(jié)果就是True隨機(jī)森林夠造過程中的關(guān)鍵步驟(M表示特征數(shù)目):

1)一次隨機(jī)選出一個樣本,有放回的抽樣,重復(fù)N次(有可能出現(xiàn)重復(fù)的樣本)

 2) 隨機(jī)去選出m個特征, m <

思考

1.為什么要隨機(jī)抽樣訓(xùn)練集?

如果不進(jìn)行隨機(jī)抽樣,每棵樹的訓(xùn)練集都一樣,那么最終訓(xùn)練出的樹分類結(jié)果也是完全一樣的

2.為什么要有放回地抽樣?

如果不是有放回的抽樣,那么每棵樹的訓(xùn)練樣本都是不同的,都是沒有交集的,這樣每棵樹都是“有偏的”,都是絕對“片面的”(當(dāng)然這樣說可能不對),也就是說每棵樹訓(xùn)練出來都是有很大的差異的;而隨機(jī)森林最后分類取決于多棵樹(弱分類器)的投票表決。

隨機(jī)森林api介紹

  • sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=’gini’, max_depth=None, bootstrap=True, random_state=None, min_samples_split=2)
    • n_estimators:integer,optional(default = 10)森林里的樹木數(shù)量120,200,300,500,800,1200
    • Criterion:string,可選(default =“gini”)分割特征的測量方法
    • max_depth:integer或None,可選(默認(rèn)=無)樹的最大深度 5,8,15,25,30
    • max_features="auto”,每個決策樹的最大特征數(shù)量
      • If "auto", then max_features=sqrt(n_features).
      • If "sqrt", then max_features=sqrt(n_features)(same as "auto").
      • If "log2", then max_features=log2(n_features).
      • If None, then max_features=n_features.
    • bootstrap:boolean,optional(default = True)是否在構(gòu)建樹時使用放回抽樣
    • min_samples_split:節(jié)點劃分最少樣本數(shù)
    • min_samples_leaf:葉子節(jié)點的最小樣本數(shù)
  • 超參數(shù):n_estimator, max_depth, min_samples_split,min_samples_leaf
隨機(jī)森林預(yù)測案例

實例化隨機(jī)森林

# 隨機(jī)森林去進(jìn)行預(yù)測
rf = RandomForestClassifier()

定義超參數(shù)的選擇列表

param = {"n_estimators": [120,200,300,500,800,1200], "max_depth": [5, 8, 15, 25, 30]}

使用GridSearchCV進(jìn)行網(wǎng)格搜索

# 超參數(shù)調(diào)優(yōu)gc = GridSearchCV(rf, param_grid=param, cv=2)

gc.fit(x_train, y_train)

print("隨機(jī)森林預(yù)測的準(zhǔn)確率為:", gc.score(x_test, y_test))

注意:

隨機(jī)森林的建立過程

樹的深度、樹的個數(shù)等需要進(jìn)行超參數(shù)調(diào)優(yōu)






猜你喜歡:

什么是線性回歸?線性回歸有什么特征?

決策樹的劃分依據(jù)二:信息增益率

BRIEF算法步驟詳細(xì)介紹

什么是OpenCV?OpenCV安裝教程

傳智教育ai人工智能課程

0 分享到:
和我們在線交談!