乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       天承辦公室 2017-12-08

      導(dǎo)語:

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


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


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


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

      把想法分解成簡單的幾步:

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

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

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

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

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

                         圖1計(jì)


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


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

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

                   圖2機(jī)


      輸出:

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

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

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

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

                  圖3


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

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

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

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

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

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

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

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

                4


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

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

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

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

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

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


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

      6:Tree  interpreter=0.6)


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

          圖7:獻(xiàn)


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

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


      相關(guān)變量的闡釋:
      · (圖片B)是指通過節(jié)點(diǎn)預(yù)測目標(biāo)值。(就是在該節(jié)點(diǎn)中落下的觀測目標(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

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

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

      幸運(yùn)的是,我們有看一被看作線性模型系數(shù)圖表的局部依賴圖,但同樣也可被擴(kuò)展為看起來像黑箱模型。這個(gè)想法是將預(yù)測中所做的改變孤立于一個(gè)特定的功能。它不同于X對Y的散點(diǎn)圖,因?yàn)樯Ⅻc(diǎn)圖不能隔離X對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ù)測值。采取預(yù)測的平均值。(稱之為基準(zhǔn)值)

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

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


                       圖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對SalesPrice的直接影響。

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


      寫在最后:

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


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


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

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多