機(jī)器學(xué)習(xí)A-Z~決策樹與隨機(jī)森林

決策樹

有的人可能聽過一個(gè)詞:CART,這個(gè)代表的意思是Classification And Regression Tree。它是一個(gè)分類和回歸的決策樹贵涵。它被分為兩類,一類是分類決策樹(Classification Trees)华蜒,另一個(gè)類是回歸決策樹(Regression Trees)。也就是我們要用這個(gè)決策樹解決兩類問題豁遭,一個(gè)分類問題一個(gè)回歸問題叭喜。

決策樹

對于分類決策樹,一般來說用于一些分類離散的數(shù)據(jù)蓖谢,比如說人的性別是男或者女捂蕴,水果的種類有蘋果梨子等等都是離散的譬涡。反之回歸決策樹,那么對應(yīng)的場景就是連續(xù)的數(shù)據(jù)启绰,比如人的年齡或者室外的溫度昂儒。當(dāng)我們進(jìn)行分類問題時(shí),分類的組之間是無序的委可。這里首先介紹下什么是有序,可以舉個(gè)例子比如年齡腊嗡,又年齡大或者年齡小着倾。那么對于性別問題,男或女燕少,它是沒有順序的卡者。本文要講的是分類問題在決策樹上的應(yīng)用。

來看個(gè)例子客们,在一個(gè)二維平面上有兩個(gè)顏色分組的數(shù)據(jù)崇决,我們要用決策樹算法來構(gòu)建分類器。這里的決策樹算法要做的事情就是不斷用水平和豎直的線不斷對平面進(jìn)行分隔底挫,直到某一個(gè)區(qū)域類只有紅類或者綠類恒傻。如圖所示,我們畫出幾條線對平面進(jìn)行分隔建邓。

image

這樣圖中的紅組和藍(lán)組的數(shù)據(jù)點(diǎn)就被這些數(shù)據(jù)分隔開來了盈厘,但這組數(shù)據(jù)是為了方便展示而特地畫成這個(gè)樣子的,實(shí)際情況并不一定會(huì)出現(xiàn)這種比較清晰的分割線官边。那我們先看看第一條分割線沸手,將其分割成了上下兩塊區(qū)域,雖然兩邊都是既有紅色又有藍(lán)色注簿,但我們可以說分類的結(jié)果還是比較純的契吉。用復(fù)雜點(diǎn)的數(shù)學(xué)語言來說就是,我們正在尋找一條分隔線诡渴,可以是水平的也可以是豎直的捐晶,我們想要做一個(gè)優(yōu)化的問題,需要最小化分隔后的基尼不純度玩徊。什么叫純租悄,指的是分隔后的一邊如果只有紅點(diǎn)或者綠點(diǎn),那么可以說這個(gè)分隔的結(jié)果是非常純的恩袱,那么如果兩邊既有紅也有藍(lán)泣棋,那么就是不純的。我們希望當(dāng)我們添加一條分割線后畔塔,想要將兩邊的純度和最小化潭辈。那么每一條的分割線的尋找實(shí)際上就是在做一個(gè)優(yōu)化的問題鸯屿,那么優(yōu)化的對象可以是基尼不純度,也可以是信息學(xué)中的熵把敢。這里不做過多解釋寄摆,只是展示下決策樹是如果運(yùn)作的。

畫出第一條分隔線后如圖可以得到兩組分類結(jié)果修赞,一個(gè)是x2小于或者不小于60婶恼,再然后我們畫出第二條分割線,看出x1<50是綠組柏副,否則就是紅組勾邦,接著再畫出第三條分割線,x1<70都是紅組割择,再對x1>70分隔眷篇,得出紅組和綠組數(shù)據(jù)。

image

如圖其實(shí)就是上述所說的工作流程荔泳,我們得到的每一片葉子都是比較純的結(jié)果蕉饼,如果在實(shí)際實(shí)際生活中,數(shù)據(jù)可能非常復(fù)雜玛歌,那么我們的樹可能就非常非常大昧港,枝節(jié)非常非常多。那么有的時(shí)候沾鳄,有的枝節(jié)不一定非要到最后知道yes or no慨飘,也許可能在前面某個(gè)枝節(jié)就停止了。比如對于x2<20這里不再繼續(xù)分割译荞,假設(shè)有個(gè)新的數(shù)據(jù)點(diǎn)落在了這個(gè)區(qū)域瓤的,它落在綠色的區(qū)域的概率比落在紅色的概率要大,那么我們就可以把這一部分都劃分到綠色組中吞歼,也就是說可以剪掉多余的枝節(jié)圈膏,也許它對于訓(xùn)練集是有意義的,但對于更多其他的數(shù)據(jù)來說篙骡,它可能就是個(gè)噪音稽坤,我們不需要知道這么詳細(xì)的信息。那最終就沒有這兩片葉子糯俗,到前面一步就結(jié)束了尿褪。

決策樹算法是個(gè)很經(jīng)典的機(jī)器學(xué)習(xí)算法,很多年以前是比較流行的得湘。但到了20世紀(jì)初已經(jīng)逐漸被其他算法所取代杖玲。直到最近又發(fā)現(xiàn)這個(gè)算法中一些新的精妙的東西,比如說隨機(jī)森林淘正,就是以決策樹為根本來展開的摆马。還有提升梯度(Gradient Boosting)等等都是在決策樹算法之上我們加上了一些新的元素臼闻。

代碼實(shí)現(xiàn)

由于這次決策樹算法,我們沒有使用歐式距離囤采,也就是說可以不用進(jìn)行特征縮放述呐。但最終畫圖像時(shí)之前模版中定義的步距可能就過大或者過小,所以這里就妥協(xié)一下保留特征縮放的代碼蕉毯。分類器改成決策樹算法的DecisionTreeClassifier乓搬。這個(gè)方法的參數(shù)criterion指的就是標(biāo)準(zhǔn),默認(rèn)gini恕刘,即基尼指數(shù)或者說基尼不純度缤谎。它和熵都是表示分類時(shí)劃分質(zhì)量的好壞。這里我們使用熵褐着。其他的參數(shù)暫時(shí)用不到,random_state依然只是用來大家如果想得到相同的結(jié)果時(shí)就設(shè)置為相同的值即可。

from sklearn.tree import DecisionTreeClassifier
classifier = DecisionTreeClassifier(criterion='entropy',random_state=)
classifier.fit(X_train, y_train)

隨機(jī)森林

在開始講隨機(jī)森林之前我們先講一個(gè)更為廣義的概念: Ensemble Learning托呕,集成學(xué)習(xí)含蓉。它的意思是我們使用多個(gè)分類器對我們的結(jié)果進(jìn)行預(yù)測,最后再對分類結(jié)果進(jìn)行一個(gè)組合项郊,以達(dá)到最終的結(jié)果馅扣。這個(gè)組合的方式有很多種,比如平均着降,加權(quán)平均或者投票等等差油。這個(gè)集成學(xué)習(xí)的作用就是,我們覺得任何一個(gè)單獨(dú)的分類器去分類結(jié)果回感覺有誤差任洞,這時(shí)可以用成百上千個(gè)分類器都進(jìn)行預(yù)測蓄喇,然后再對結(jié)果進(jìn)行一個(gè)組合,可以減少預(yù)測結(jié)果的浮動(dòng)率交掏。下面來看看隨機(jī)森林算法的步驟妆偏。

首先,隨機(jī)采用訓(xùn)練集合中的數(shù)據(jù)盅弛,相當(dāng)于裝袋的過程钱骂,構(gòu)建自己新的訓(xùn)練集;然后用這些數(shù)據(jù)訓(xùn)練決策樹分類器挪鹏;再然后實(shí)際上就是重復(fù)第一第二步见秽,但每一次得到的結(jié)果是不同的,因?yàn)樵诘谝徊街形覀內(nèi)〉玫臄?shù)據(jù)都是隨機(jī)的讨盒。對于一個(gè)新的數(shù)據(jù)點(diǎn)解取,我們用已經(jīng)訓(xùn)練好的多個(gè)訓(xùn)練器分別對這個(gè)新數(shù)據(jù)的分類進(jìn)行預(yù)測,最后進(jìn)行一個(gè)投票催植,擁有最大投票數(shù)量的分類結(jié)果勝出就使用這個(gè)分類結(jié)果肮蛹。

隨機(jī)森林

前文講述了如何構(gòu)建一棵決策樹勺择,現(xiàn)在擁有成百上千棵決策樹來幫助我們解決分類問題。這個(gè)分類算法還有不少數(shù)學(xué)上的一些細(xì)節(jié)問題伦忠,比如Boosting(提升)省核,還有當(dāng)我們有高維度的情況時(shí),我們每次選取數(shù)據(jù)時(shí)可能只選取部分維度昆码,這樣可以避免個(gè)別維度比其他維度大的多情況气忠。

代碼實(shí)現(xiàn)

這里依然開始先套用分類的模版,然后換成隨機(jī)森林分類器赋咽,這里的參數(shù)n_estimators指的是決策樹的數(shù)量,這里暫時(shí)設(shè)置成10 criterion依然設(shè)置為entropy旧噪。

from sklearn.ensemble import RandomForestClassifier
classifier = RandomForestClassifier(n_estimators=10, criterion='entropy', random_state=0)
classifier.fit(X_train, y_train)

通過結(jié)果觀察,這里使用隨機(jī)森林分類器是會(huì)出現(xiàn)過擬合的情況脓匿。對比這幾篇文章中的分類器淘钟,實(shí)際上最適合的是核svm和樸素貝葉斯,線性分類器準(zhǔn)確度不夠陪毡,隨機(jī)森林分類器會(huì)出現(xiàn)過擬合米母,而這兩者它們保證了擬合的準(zhǔn)確率,并且也不會(huì)出現(xiàn)過擬合的問題毡琉。

以上铁瞒,就是關(guān)于決策樹和隨機(jī)森林相關(guān)的基礎(chǔ)知識(shí)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末桅滋,一起剝皮案震驚了整個(gè)濱河市慧耍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌丐谋,老刑警劉巖芍碧,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異笋鄙,居然都是意外死亡师枣,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門萧落,熙熙樓的掌柜王于貴愁眉苦臉地迎上來践美,“玉大人,你說我怎么就攤上這事找岖≡沙” “怎么了?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵许布,是天一觀的道長兴革。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么杂曲? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮擎勘,結(jié)果婚禮上咱揍,老公的妹妹穿的比我還像新娘。我一直安慰自己棚饵,他們只是感情好噪漾,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布题翰。 她就那樣靜靜地躺著遍愿,像睡著了一般耘斩。 火紅的嫁衣襯著肌膚如雪括授。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天岩饼,我揣著相機(jī)與錄音荚虚,去河邊找鬼。 笑死籍茧,一個(gè)胖子當(dāng)著我的面吹牛版述,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播寞冯,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼渴析,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了吮龄?” 一聲冷哼從身側(cè)響起俭茧,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎漓帚,沒想到半個(gè)月后母债,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年毡们,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了迅皇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡衙熔,死狀恐怖登颓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情青责,我是刑警寧澤挺据,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站脖隶,受9級特大地震影響扁耐,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜产阱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一婉称、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧构蹬,春花似錦王暗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至藻烤,卻和暖如春绷雏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背怖亭。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工涎显, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人兴猩。 一個(gè)月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓期吓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親倾芝。 傳聞我的和親對象是個(gè)殘疾皇子讨勤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

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

  • 在那一個(gè)溫暖的下午 我遇見了長發(fā)飄飄的你 從此 你在我心中 不可抹去 你溫暖的笑容 點(diǎn)燃我青澀的小火苗 在遇見你的...
    情書小王子閱讀 201評論 0 1
  • 忍不住何必要偽裝堅(jiān)強(qiáng)拯刁,痛痛快快哭一場又何妨脊岳? 人生其實(shí)就是場離殤,那些舍得舍不得,生命里重要的人或物割捅,都會(huì)隨著時(shí)間...
    云水禪心ZLM閱讀 764評論 13 8
  • 1,社會(huì)活動(dòng)的中心應(yīng)該是奶躯,家庭。2,工作的核心應(yīng)該是亿驾,跟對人嘹黔。3,一個(gè)人只活到35歲,35歲以后都是慣性莫瞬。4,健康...
    拾零錄閱讀 303評論 0 0
  • 母親老了儡蔓。自從去年她生病以來,就表現(xiàn)的越發(fā)明顯疼邀。白皙的手臂上出現(xiàn)了老人斑喂江,光潔的皮膚上刻上了皺紋,挺拔的腰身開始彎...
    淮濱高中李盼盼閱讀 169評論 0 0