機器學(xué)習(xí)(九) 隨機森林

隨機森林是在Bagging策略的基礎(chǔ)上進行修改后的一種算法。

  • 隨機:數(shù)據(jù)采樣隨機,特征選擇隨機
  • 森林:很多個決策樹并行放在一起

9.1 算法的基本原理

采取有放回的抽樣方式泊窘,構(gòu)造子數(shù)據(jù)集,保證不同子數(shù)據(jù)集之間的數(shù)量集一樣。
利用子數(shù)據(jù)集來構(gòu)建子決策樹谴蔑,每個子決策樹輸出一個結(jié)果豌骏。
統(tǒng)計子決策樹的投票結(jié)果,得到最終的分類隐锭,就是隨機森林的輸出結(jié)果窃躲。
具體的構(gòu)建過程如下:

  • 從樣本中用 Bootstrap 采樣選出n個樣本
  • 從所有屬性中隨機選擇K個屬性,選擇出最佳分割屬性作為節(jié)點創(chuàng)建決策樹
  • 重復(fù)以上兩步m次
  • 統(tǒng)計這m個子決策樹得出的結(jié)果钦睡,通過投票表決結(jié)果決定數(shù)據(jù)屬于哪一類蒂窒。

9.2 隨機森林的優(yōu)劣勢

優(yōu)勢

  • 它能夠處理很高維度的數(shù)據(jù),并且不用做特征選擇
  • 在訓(xùn)練完后荞怒,它能夠給出哪些特征比較重要
  • 并行化處理洒琢,速度較快
  • 可以進行可視化展示,便于分析
  • 由于存在隨機抽樣褐桌,訓(xùn)練出來的模型方差小衰抑,泛化能力強
  • 由于進行隨機選擇決策樹劃分特征列表,在樣本維度比較高時荧嵌,依然具有比較高的性能
  • 對部分特征的缺失不敏感
    劣勢
  • 在某些噪音比較比較大的特征上呛踊,RF模型容易陷入過擬;
  • 取值比較多的劃分特征對RF的決策會產(chǎn)生更大的影響啦撮,從而有可能影響模型的效果谭网。

9.3 sklearn調(diào)用及參數(shù)解釋

class sklearn.ensemble.RandomForestClassifier(
    n_estimators=10, criterion='gini', max_depth=None, 
    min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0,
    max_features='auto', max_leaf_nodes=None, min_impurity_decrease=0.0, 
    min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=1, 
    random_state=None, verbose=0, warm_start=False, class_weight=None)

因為隨機森林是很多個決策樹并行計算,所以隨機森林的很多參數(shù)與決策樹的類似赃春。
(1) 決策樹參數(shù):

  • criterion:"gini" or "entropy" (defaut = "gini")是計算屬性的gini(基尼不純度)還是entropy(信息增益)愉择,來選擇最合適的節(jié)點。
  • splitter: ”best” or “random”(default=”best”)隨機選擇屬性還是選擇不純度最大的屬性聘鳞,建議用默認薄辅。
  • max_features: 選擇最適屬性時劃分的特征不能超過此值。
    當(dāng)為整數(shù)時抠璃,即最大特征數(shù)站楚;當(dāng)為小數(shù)時,訓(xùn)練集特征數(shù)*小數(shù)搏嗡;
    if “auto”, then max_features=sqrt(n_features).
    If “sqrt”, thenmax_features=sqrt(n_features).
    If “l(fā)og2”, thenmax_features=log2(n_features).
    If None, then max_features=n_features.
  • max_depth: (default=None)設(shè)置樹的最大深度窿春,默認為None,這樣建樹時采盒,會使每一個葉節(jié)點只有一個類別旧乞,或是達到min_samples_split。
  • min_samples_split:根據(jù)屬性劃分節(jié)點時磅氨,每個劃分最少的樣本數(shù)尺栖。
  • min_samples_leaf:葉子節(jié)點最少的樣本數(shù)。
  • max_leaf_nodes: (default=None)葉子樹的最大樣本數(shù)烦租。
  • min_weight_fraction_leaf: (default=0) 葉子節(jié)點所需要的最小權(quán)值
  • verbose:(default=0) 是否顯示任務(wù)進程
    (2)隨機森林特有的參數(shù)
  • n_estimators=10:決策樹的個數(shù)延赌,越多越好除盏,但是性能就會越差,至少100左右(具體數(shù)字忘記從哪里來的了)可以達到可接受的性能和誤差率挫以。
  • bootstrap=True:是否有放回的采樣者蠕。
  • oob_score=False:oob(out of band,帶外)數(shù)據(jù)掐松,即:在某次決策樹訓(xùn)練中沒有被bootstrap選中的數(shù)據(jù)踱侣。多單個模型的參數(shù)訓(xùn)練,我們知道可以用cross validation(cv)來進行大磺,但是特別消耗時間抡句,而且對于隨機森林這種情況也沒有大的必要,所以就用這個數(shù)據(jù)對決策樹模型進行驗證量没,算是一個簡單的交叉驗證玉转。性能消耗小,但是效果不錯殴蹄。
  • n_jobs=1:并行job個數(shù)究抓。這個在ensemble算法中非常重要,尤其是bagging(而非boosting袭灯,因為boosting的每次迭代之間有影響刺下,所以很難進行并行化),因為可以并行從而提高性能稽荧。1=不并行橘茉;n:n個并行;-1:CPU有多少core姨丈,就啟動多少job畅卓。
  • warm_start=False:熱啟動,決定是否使用上次調(diào)用該類的結(jié)果然后增加新的蟋恬。
  • class_weight=None:各個label的權(quán)重翁潘。
    參數(shù)解釋來自sklearn中隨機森林的參數(shù)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市歼争,隨后出現(xiàn)的幾起案子拜马,更是在濱河造成了極大的恐慌,老刑警劉巖沐绒,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俩莽,死亡現(xiàn)場離奇詭異,居然都是意外死亡乔遮,警方通過查閱死者的電腦和手機扮超,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瞒津,你說我怎么就攤上這事蝉衣。” “怎么了巷蚪?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長濒翻。 經(jīng)常有香客問我屁柏,道長,這世上最難降的妖魔是什么有送? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任淌喻,我火速辦了婚禮,結(jié)果婚禮上雀摘,老公的妹妹穿的比我還像新娘裸删。我一直安慰自己,他們只是感情好阵赠,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布涯塔。 她就那樣靜靜地躺著,像睡著了一般清蚀。 火紅的嫁衣襯著肌膚如雪匕荸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天枷邪,我揣著相機與錄音榛搔,去河邊找鬼。 笑死东揣,一個胖子當(dāng)著我的面吹牛践惑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嘶卧,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼尔觉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了脸候?” 一聲冷哼從身側(cè)響起穷娱,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎运沦,沒想到半個月后泵额,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡携添,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年嫁盲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡羞秤,死狀恐怖缸托,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瘾蛋,我是刑警寧澤俐镐,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站哺哼,受9級特大地震影響佩抹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜取董,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一棍苹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茵汰,春花似錦枢里、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至画侣,卻和暖如春冰悠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背配乱。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工溉卓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人搬泥。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓桑寨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親忿檩。 傳聞我的和親對象是個殘疾皇子尉尾,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容