小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

隨機(jī)森林的直觀理解

 天承辦公室 2017-12-08

導(dǎo)語:

對(duì)于那些認(rèn)為隨機(jī)森林是黑匣子算法的人來說,這篇帖子會(huì)提供一個(gè)不同的觀點(diǎn)。接下來,我將從4個(gè)方面去理解隨機(jī)森林模型。


1.我們的特征有多重要?


在sklearn隨機(jī)森林中使用model.feature_importance來研究其重要特征是很常見的。重要特征是指與因變量密切相關(guān)的特征,并且對(duì)因變量的變化影響較大。我們通常將盡可能多的特征提供給隨機(jī)森林模型,并讓算法反饋對(duì)預(yù)測(cè)最有用的特征列表。但仔細(xì)選擇正確的特征可以使我們的目標(biāo)預(yù)測(cè)更加準(zhǔn)確。


計(jì)算feature_importances的想法很簡(jiǎn)單,但卻很有效。

把想法分解成簡(jiǎn)單的幾步:

  1. 訓(xùn)練隨機(jī)森林模型(假定有正確的超參數(shù))

  2. 找到模型的預(yù)測(cè)分?jǐn)?shù)(稱之為基準(zhǔn)分?jǐn)?shù))

  3. 多次(p次,p為特征個(gè)數(shù))計(jì)算預(yù)測(cè)分?jǐn)?shù),每次打亂某個(gè)特征的順序,可見下圖

  4. 將每次預(yù)測(cè)分?jǐn)?shù)與基準(zhǔn)分?jǐn)?shù)進(jìn)行比較。如果隨機(jī)調(diào)整特征順序后預(yù)測(cè)分?jǐn)?shù)小于基準(zhǔn)分?jǐn)?shù),這意味著我們的模型如果沒有這個(gè)特征會(huì)變得很糟糕。

  5. 刪除那些不會(huì)降低基準(zhǔn)分?jǐn)?shù)的特征,并用減少后的特征子集重新訓(xùn)練模型。

                   圖1計(jì)


注:將F4列打亂重新進(jìn)行預(yù)測(cè)來判斷特征F4的重要性


計(jì)算特征重要性的代碼:

下面的代碼將為所有特征提供一個(gè)結(jié)構(gòu)為{特征,重要性}的字典。

             圖2機(jī)


輸出:

在上面的輸出中,可以看出,YearMade將最大程度增加RMSE預(yù)測(cè)。所以它一定是最重要的特征。(上面的結(jié)果所對(duì)應(yīng)的數(shù)據(jù)是從Kaggle competition獲取的,這是鏈接——https://www./c/bluebook-for-bulldozers)

2.我們對(duì)我們的預(yù)測(cè)有多大信心?

一般來說,當(dāng)企業(yè)想要有所預(yù)測(cè)時(shí),他們的最終目的不是降低成本就是提高利潤。在做出重大商業(yè)決策之前,企業(yè)十分熱衷于去評(píng)估做出這個(gè)決定的風(fēng)險(xiǎn)的大小。但是,當(dāng)預(yù)測(cè)結(jié)果并沒有被展現(xiàn)在置信區(qū)間時(shí),我們可能會(huì)無意中將企業(yè)至于更多的風(fēng)險(xiǎn)中,而不是降低風(fēng)險(xiǎn)。

當(dāng)我們使用線性模型(基于分布假設(shè)的一般模型)時(shí),比較容易找到我們預(yù)測(cè)的置信水平。但是當(dāng)談到隨機(jī)森林的置信區(qū)間時(shí),找起來并不是那么容易。

            圖3


我想,任何上過線性回歸課程的人都肯定看過這張圖3。為了找到一個(gè)最佳線性模型,我們要去尋找偏差—方差最為折衷的模型。這張圖片很好地說明了預(yù)測(cè)中偏差和方差的定義。(我們理解為這4張圖分別是由四個(gè)不同的人擲飛鏢所得)。

如果我們有高偏差和低方差值時(shí)(第三個(gè)人),我們投擲的飛鏢會(huì)固定的遠(yuǎn)離紅心。相反,如果我們有高的方差和低的偏差(第二個(gè)人),那么他投擲飛鏢的結(jié)果就很不一樣。如果有人去猜測(cè)他下一個(gè)飛鏢擊中的位置,那么它既有可能打到靶心也有可能遠(yuǎn)離靶心。現(xiàn)在我們來假設(shè)在現(xiàn)實(shí)生活中識(shí)別一起信用欺詐等同于上面例子擊中靶心。如果信用公司擁有的的預(yù)測(cè)模型與上面第二人的擲飛鏢行為很相似,那么該公司在大多數(shù)時(shí)候都不會(huì)抓住這個(gè)詐騙犯,盡管模型預(yù)測(cè)的是正確的。

因此,不僅僅是意味著預(yù)測(cè)的準(zhǔn)確程度,我們還應(yīng)該檢查我們的預(yù)測(cè)的置信水平。

在隨機(jī)森林中如何做到這一點(diǎn)?

隨機(jī)森林是由許多決策樹組成。每棵樹分別預(yù)測(cè)新的數(shù)據(jù),隨機(jī)森林從這些樹中提取出平均預(yù)測(cè)值。預(yù)測(cè)置信水平的想法只是為了去看來自不同樹木的預(yù)測(cè)有多少因?yàn)樾碌挠^測(cè)而產(chǎn)生變化,然后進(jìn)一步分析。

基于方差樹預(yù)測(cè)置信度的源代碼:

注:偏差 = (up-down)/Yhat

以上代碼的輸出如下所示:

          4


從這個(gè)輸出數(shù)據(jù)可以讀出,我們可以說我們對(duì)于驗(yàn)證集上索引為14的觀測(cè)的預(yù)測(cè)最沒有信心。

3.什么是預(yù)測(cè)路徑?

如果我們想要分析哪些特征對(duì)于整體隨機(jī)森林模型是重要的,則 特征重要性(如在第一部分中)是有用的。但是如果我們對(duì)某個(gè)特定的觀察感興趣,那么 Tree interpreter的角色就會(huì)發(fā)揮作用。

舉個(gè)例子,現(xiàn)在有一個(gè)RF模型,這種模型會(huì)預(yù)測(cè)—一位來醫(yī)院的患者X是否具有很高的概率再入院?,為了簡(jiǎn)單起見,我們考慮只有3個(gè)特征—患者的血壓值,患者的年齡以及患者的性別?,F(xiàn)在,如果我們的模型認(rèn)為患者A有80%的可能會(huì)再次入院,我們?cè)趺茨苤肋@個(gè)被模型預(yù)測(cè)為他(她)將重新入院的患者A有什么特殊之處?在這種情況下,Tree interpreter會(huì)指示預(yù)測(cè)路徑緊隨那個(gè)特殊的患者。就像是,因?yàn)?strong>患者A是65歲的男性,這就是為什么我們的模型會(huì)預(yù)測(cè)他將再次入院。另一個(gè)被模型預(yù)測(cè)將再次入院的患者B ,可能時(shí)因?yàn)樗懈哐獕海ǘ皇且驗(yàn)槟挲g或性別)。

基本上,Tree interpreter給出了偏差的排序列表(在起始節(jié)點(diǎn)的平均值)以及單個(gè)節(jié)點(diǎn)對(duì)給定預(yù)測(cè)的貢獻(xiàn)。

5:http://blog.datadive.net/interpreting?random?forests/


圖5的這棵決策樹(深度:3層)基于波士頓房?jī)r(jià)數(shù)據(jù)集。根據(jù)中間節(jié)點(diǎn)的預(yù)測(cè)值以及導(dǎo)致數(shù)值發(fā)生變化的特征,它顯示了決策路徑的分解。單節(jié)點(diǎn)的貢獻(xiàn)是該節(jié)點(diǎn)的值與前一個(gè)節(jié)點(diǎn)值的差值。

6:Tree  interpreter=0.6)


圖6 給出了對(duì)于患者A使用Tree interpreter的輸出示例。圖片顯示年齡為65歲是模型預(yù)測(cè)再入院概率高于均值的最高貢獻(xiàn)者。

    圖7:獻(xiàn)


圖6同樣也可以使用瀑布圖7來表示。我從“ 瀑布圖包 ”中選材做的這個(gè)快速簡(jiǎn)單的瀑布圖。

上面的瀑布圖可視化代碼:


相關(guān)變量的闡釋:
· (圖片B)是指通過節(jié)點(diǎn)預(yù)測(cè)目標(biāo)值。(就是在該節(jié)點(diǎn)中落下的觀測(cè)目標(biāo)的平均值)。
· 貢獻(xiàn)是當(dāng)前節(jié)點(diǎn)的值減去上一節(jié)點(diǎn)的值(這是為一個(gè)路徑提供的貢獻(xiàn)特征)。
· 路徑是為了到達(dá)葉節(jié)點(diǎn)而通過某些觀察所獲得的所有特征分割的組合。
tree interpreter包直接用來計(jì)算每個(gè)節(jié)點(diǎn)的貢獻(xiàn),鏈接:treeinterpreter

4.目標(biāo)變量如何與重要特征相關(guān)? Partial Dependence Plots

找到最重要的特征后,下一步我們可能會(huì)感興趣的是研究目標(biāo)變量與興趣特征之間的直接關(guān)系。從線性回歸中得到的與其相類似的是模型系數(shù)。對(duì)于線性回歸,系數(shù)以這種方式被計(jì)算,即我們可以通過說:“在Xj中有1個(gè)單位變化,保持所有其他Xi不變,Y會(huì)發(fā)生什么變化?”這樣的方式來表示。

雖然我們有來自隨機(jī)森林的特征重要性,但是它們只是給出Y的變量是由Xi的改變之間的相關(guān)性。我們不能直接地解釋他們就像保持所有其他特征不變,Y該變量取決于Xj中的單位的變化。

幸運(yùn)的是,我們有看一被看作線性模型系數(shù)圖表的局部依賴圖,但同樣也可被擴(kuò)展為看起來像黑箱模型。這個(gè)想法是將預(yù)測(cè)中所做的改變孤立于一個(gè)特定的功能。它不同于X對(duì)Y的散點(diǎn)圖,因?yàn)樯Ⅻc(diǎn)圖不能隔離X對(duì)Y的直接關(guān)系,并且可能受X和Y所依賴的其他變量的間接關(guān)系所影響。


PDP分析步驟如下:

  1. 訓(xùn)練一個(gè)隨機(jī)森林模型(假設(shè)F1 … F4是我們的特征,Y是目標(biāo)變量,假設(shè)F1是最重要的特征)。

  2. 我們有興趣探索Y和F1的直接關(guān)系。

  3. 用F1(A)代替F1列,并為所有的觀察找到新的預(yù)測(cè)值。采取預(yù)測(cè)的平均值。(稱之為基準(zhǔn)值)

  4. 對(duì)F1(B)… F1(E)重復(fù)步驟3,即針對(duì)特征F1的所有不同值。

  5. PDP的X軸具有不同的F1值,而Y軸是雖該基準(zhǔn)值F1值的平均預(yù)測(cè)而變化。


                 圖8:PDP


圖 9 是partial dependence plot的一個(gè)例子。數(shù)據(jù)來自 kaggle bulldozer competition data,它顯示了生產(chǎn)年份(YearMade)和(銷售價(jià)格)SalesPrice的關(guān)系

9:partial  dependence  plotYearMadeSalePrice)

而圖10是SalePrice與YearMade的線狀圖。我們可以看到,散點(diǎn)圖/折線圖可能無法像PDP那樣捕獲YearMade對(duì)SalesPrice的直接影響。

10:個(gè)(https://github.com/fastai/fastai/tree/master/courses/ml1)


寫在最后:

在大多數(shù)情況下,隨機(jī)森林在預(yù)測(cè)中可以擊敗線性模型預(yù)測(cè)。針對(duì)隨機(jī)森林經(jīng)常提出的反對(duì)意見是:對(duì)它的理解沒有線性模型那樣直觀,但是本文的討論希望幫助你回答這樣的反對(duì)意見。


作者個(gè)人簡(jiǎn)歷:目前在舊金山大學(xué)學(xué)習(xí)數(shù)據(jù)科學(xué)(分析),在Manifold.ai做實(shí)習(xí)生。此前,曾在凱捷咨詢公司擔(dān)任數(shù)據(jù)科學(xué)家,在Altisource擔(dān)任高級(jí)業(yè)務(wù)分析師。


加入 人工智能量化投資交流群

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多