




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
機器學習算法目 錄第1章 基礎知識 1準備數(shù)據(jù) 1數(shù)據(jù)格式 1變量類型 2變量選擇 3特征工程 3缺失數(shù)據(jù) 4選擇算法 4無監(jiān)督學習 5監(jiān)督學習 6強化學習 7注意事項 7參數(shù)調優(yōu) 7評價模型 9分類指標 9回歸指標 101.4.3驗證 101.5小結 第2章 k均值聚類 13找出顧客群 13示例:影迷的性格特征 13定義群組 16有多少個群組 16每個群組中有誰 17xii|目 錄局限性 182.5小結 19第3章 主成分分析 21食物的營養(yǎng)成分 21主成分 22示例:分析食物種類 24局限性 273.5小結 29第4章 關聯(lián)規(guī)則 31發(fā)現(xiàn)購買模式 31支持度、置信度和提升度 31示例:分析雜貨店的銷售數(shù)據(jù) 33先驗原則 35尋找具有高支持度的項集 36尋找具有高置信度或高提升度的關聯(lián)規(guī)則 37局限性 374.6小結 37第5章 社會網(wǎng)絡分析 39展現(xiàn)人際關系 39示例:國際貿易 40Louvain方法 42PageRank算法 43局限性 465.6小結 47第6章 回歸分析 49趨勢線 49示例:預測房價 49梯度下降法 52回歸系數(shù) 54相關系數(shù) 55目 錄|xiii局限性 566.7小結 57第7章 k最近鄰算法和異常檢測 59食品檢測 59物以類聚,人以群分 60示例:區(qū)分紅白葡萄酒 61異常檢測 62局限性 637.6小結 63第8章 支持向量機 65醫(yī)學診斷 65示例:預測心臟病 65勾畫最佳分界線 66局限性 698.5小結 69第9章 決策樹 71預測災難幸存者 71示例:逃離泰坦尼克號 72生成決策樹 73局限性 749.5小結 75第10章 隨機森林 77集體智慧 77示例:預測犯罪行為 77集成模型 81自助聚集法 82局限性 8310.6小結 84第章 神經(jīng)網(wǎng)絡 85建造人工智能大腦 85xiv|目 錄示例:識別手寫數(shù)字 86神經(jīng)網(wǎng)絡的構成 89激活規(guī)則 91局限性 9211.6小結 94第12章 A/B測試和多臂老虎機 95初識A/B測試 95A/B測試的局限性 95epsilon遞減策略 96示例:多臂老虎機 97勝者為先 99epsilon遞減策略的局限性 9912.7小結 100附錄A 無監(jiān)督學習算法概覽 101附錄B 監(jiān)督學習算法概覽 102附錄C 調節(jié)參數(shù)列表 103附錄D 更多評價指標 104術語表 107關于作者 第1章基礎知識要想完全搞明白數(shù)據(jù)科學算法,必須先從基礎知識學起。本章主要介紹數(shù)據(jù)科學的基礎知識,它是本書最長的一章,篇幅大概是后續(xù)各章(講解各種具體算法)的兩倍。通過學習本章,你將對絕大多數(shù)數(shù)據(jù)科學研究涉及的基本步驟有大致的了解。這些基本步驟會幫助你評估上下文以及約束條件,并選出適合在研究中使用的算法。4據(jù)。其次,根據(jù)研究需求挑選合適的算法。再次,對算法的參數(shù)進行調優(yōu),以便優(yōu)化結果。最后,創(chuàng)建模型,并比較各個模型,從中選出最好的一個。準備數(shù)據(jù)數(shù)據(jù)科學就是關于數(shù)據(jù)的科學。如果數(shù)據(jù)的質量差,那么分析得再精確也只能得到平淡無奇的結果。本節(jié)將介紹數(shù)據(jù)分析中常用的數(shù)據(jù)格式,還會涉及一些用來改進結果的數(shù)據(jù)處理方法。數(shù)據(jù)格式在數(shù)據(jù)分析中,表格是最常用的數(shù)據(jù)表示形式,如表1-1所示。表格中的每一行就是一個數(shù)據(jù)點,代表一個觀測結果;每一列是一個變量,用來描述數(shù)據(jù)點。變量也叫屬性、特征或維度。2|第1章基礎知識表1-1假設一些動物顧客去超市購物,以下是交易數(shù)據(jù)集。每一行代表一筆交易,每一列則描述交易的某一方面信息數(shù)據(jù)點變量數(shù)據(jù)點交易編號顧客類別交易編號顧客類別日期水果購買量是否買魚支出1企鵝01/011是5.30美元2熊01/014是9.70美元3兔子01/016否6.50美元4馬01/026否5.50美元5企鵝01/022是6.00美元6長頸鹿01/035否4.80美元7兔子01/038否7.60美元8貓01/03?是7.40美元根據(jù)需求,可以更改每行觀測的類型。例如,通過表1-1這種表示形式,我們可以借助大量交易來研究交易模式。但是,如果想根據(jù)日期研究交易模式,則需要以行為單位匯總每一日的數(shù)據(jù)。為了分析得更全面,可以另外再添加幾個變量,比如天氣等,如表1-2所示。表1-2根據(jù)日期匯總后的交易數(shù)據(jù)集,并且另外添加了幾個變量變量日期銷售額顧客數(shù)天氣是否為周末01/0121.50美元3晴是01/0211.50美元2雨否01/0319.80美元3晴否變量類型變量主要有4類,正確區(qū)分它們對于為算法選擇合適的變量至關重要。二值變量:這是最簡單的變量類型,它只有兩種可能的值。在1-1準備數(shù)據(jù)|3分類變量:當某信息可以取兩個以上的值時,便可以使用分類1-1整型變量:數(shù)量。1-1出”就是連續(xù)變量,它表示每位顧客花費的金額。變量選擇原始數(shù)據(jù)集可能包含許多變量。往一個算法中放入過多變量,可能導致計算速度變慢,或者因干擾過多而產生錯誤的預測結果。因此,需要從眾多變量中篩選出那些與研究目標密切相關的變量,這個過程就是變量選擇。通常,變量選擇是一個試錯的過程,需要根據(jù)反饋結果不斷更換變量。一開始,可以借助簡單的圖來研究變量之間的相關性(6.5節(jié),選取那些最有希望的變量,以待進一步分析。特征工程有時候,需要做一些處理才能獲得最佳變量。例如,如果要預測表1-1中的哪些動物顧客不會買魚,可以通過查看“顧客類別”獲知,兔子、馬和長頸鹿不會買魚。不過,如果以食草動物、雜食動物和食肉動物這3大類劃分表中的動物顧客,將得到更廣義的結論:食草動物不吃魚。除了對單個變量進行重新編碼之外,還可以合并多個變量,這個技巧叫作降維,第3章將進行講解。降維可以提取最有用的信息,從而獲得更精簡的變量集,以供進一步分析。4|第1章基礎知識缺失數(shù)據(jù)我們收集的數(shù)據(jù)并非總是完整的。比如,在表1-1的最后一筆交易中,水果購買量就沒有被記錄下來。數(shù)據(jù)缺失會妨礙分析,因此要盡可能地使用如下一些方法來解決數(shù)據(jù)缺失問題。近似:如果缺失值所屬的類型為二值變量或分類變量,那么可以使用該變量的眾數(shù)(即出現(xiàn)次數(shù)最多的那個值)來替換它。若缺失值屬于整型變量或連續(xù)變量,則可以使用中位數(shù)來替換1-15,即貓購575。(1.2節(jié)這是因為算法基于類似交易來估算缺失值,這一點與近似方法(考慮每一筆交易)有所不同。從表1-1可知,買魚的顧客購買的水果往往比較少,因此推斷貓購買的水果大約只有2個或3個。移除:萬不得已時,可以把包含缺失值的整行數(shù)據(jù)移除。但是,盡量不要這樣做,因為這會減少分析時可用的數(shù)據(jù)量。而且,貓可能不太愿意公開自己所購水果的數(shù)量,如果把未記錄水果購買量的顧客移除,那么最終的樣本就會丟失有關貓的數(shù)據(jù)。處理完數(shù)據(jù)集之后,就該對數(shù)據(jù)集進行分析了。選擇算法10多種用于分析數(shù)據(jù)的算法。如何選擇算法,取決于31-3所示。選擇算法|5表1-3各種算法及其對應的任務類型算法無監(jiān)督學習k均值聚類主成分分析關聯(lián)規(guī)則社會網(wǎng)絡分析監(jiān)督學習回歸分析k最近鄰支持向量機決策樹隨機森林神經(jīng)網(wǎng)絡強化學習多臂老虎機無監(jiān)督學習任務目標:指出數(shù)據(jù)中隱藏的模式。當希望找出數(shù)據(jù)集中隱藏的模式時,可以使用k均值聚類、主成分分析、關聯(lián)規(guī)則、社會網(wǎng)絡分析等無監(jiān)督學習算法。之所以稱之為無監(jiān)督學習算法,是因為我們不知道要找的模式是什么,而是要依靠算法從數(shù)據(jù)集中發(fā)現(xiàn)模式。1-1中的數(shù)據(jù)為例,可以應用無監(jiān)督學習模型找出哪些商品是顧客經(jīng)常搭配購買的(4章講解的關聯(lián)規(guī)則算法,或者根據(jù)購買的商品對顧客進行分類(2章將進行講解。通過間接手段,可以對無監(jiān)督學習模型輸出的結果進行驗證,比如檢查得到的顧客分類是否與我們熟悉的分類(如食草動物和食肉動物)相符合。6|第1章基礎知識監(jiān)督學習任務目標:使用數(shù)據(jù)中的模式做預測。當需要做預測時,就會用到回歸分析、k策樹、隨機森林、神經(jīng)網(wǎng)絡等監(jiān)督學習算法。之所以稱之為監(jiān)督學習算法,是因為它們的預測都基于已有的模式。以表1-1中的數(shù)據(jù)為例,監(jiān)督學習模型可以根據(jù)“顧客類別”以及“是否買魚”(二者皆為預測變量)來預測“水果購買量”。通過輸入非表中顧客的預測變量值“顧客類別”和“是否買魚型的準確度。像“水果購買量”這樣的整型數(shù)值或連續(xù)數(shù)值的預測過程,實際上是在解決回歸問題,如圖1-1a所示。二元值或分類值的預測過程,如預測是否會下雨,則是在解決分類問題,如圖1-1b所示。盡管如此,大部分分類算法也可以生成連續(xù)的概率值,比如預測“降水概率是75%”,這種預測精度更高。回歸 (b)分類圖1-1回歸會產生一條趨勢線,而分類則會把數(shù)據(jù)點分組。請注意,這兩項任務都可能出錯:在回歸過程中,某些數(shù)據(jù)點可能會遠離趨勢線;在分類過程中,某些數(shù)據(jù)點可能被錯誤地分組參數(shù)調優(yōu)|7強化學習任務目標:使用數(shù)據(jù)中的模式做預測,并根據(jù)越來越多的反饋結果不斷改進。無監(jiān)督學習模型和監(jiān)督學習模型在部署之后便無法更改。不同于此,強化學習模型自身可以通過反饋結果不斷改進。暫且拋開表1-1中的動物顧客,讓我們舉一個實際的例子:假設要比較兩個在線廣告的效果。首先,讓這兩個廣告的投放頻率一樣,然后確定每個廣告的點擊人數(shù)。接著,利用強化學習模型把點擊人數(shù)作為衡量廣告受歡迎程度的指標,并根據(jù)這個指標提高受歡迎廣告的投放頻率。通過這樣的迭代過程,模型不斷得到改進,最終會讓廣告投放取得更好的效果。注意事項除了要了解算法適用的任務類型之外,還要了解它們在其他方面的不同,比如各種算法對不同數(shù)據(jù)類型的分析能力,以及結果的本質。接下來的各章在介紹相應的算法時將具體講解。此外,附錄A和附錄B將分別總結無監(jiān)督學習算法和監(jiān)督學習算法的特點。參數(shù)調優(yōu)在數(shù)據(jù)科學中,可用的算法有很多。利用這些算法,可以得到很多不錯的模型。然而,即便是同一個算法,如果參數(shù)調得不一樣,所產生的結果也各不相同。參數(shù)選項用來調節(jié)算法的設置,就像調節(jié)收音機的頻道一樣。不同的算法有不同的調節(jié)參數(shù)。附錄C將列出本書所講算法常用的調節(jié)參數(shù)。8|第1章基礎知識毫無疑問,如果模型的參數(shù)調得不合適,它的準確度就會受影響。舉例來說,同一個分類算法在區(qū)分橙點和藍點時可能產生多個邊界,如圖1-2所示。過擬合 (b)理想擬合 (c)欠擬合圖1-2比較同一個算法在不同參數(shù)作用下的預測結果在圖1-2a中,算法過度敏感,它把數(shù)據(jù)中的隨機波動錯誤地當成持久模式,這就是常說的過擬合問題。過擬合模型對當前數(shù)據(jù)有著很高的預測準確度,但是對未知數(shù)據(jù)的預測準確度較差,也就是說,過擬合模型的泛化能力不強。相反,在圖1-2c中,算法過于愚鈍,它忽視了數(shù)據(jù)中的基本模式,這就是欠擬合問題。欠擬合模型很可能會忽視數(shù)據(jù)中的重要趨勢,這會導致模型對當前數(shù)據(jù)和未知數(shù)據(jù)的預測準確度下降。如果參數(shù)調得恰好合適,算法就能在識別主要趨勢和忽視微小變化之間找到平衡,使最終得到的模型非常適合做預測,如圖1-2b所示。對于大多數(shù)模型而言,過擬合是常見問題。為了最大限度地減少預測誤差,可能會增加預測模型的復雜度,從而導致出現(xiàn)如圖1-2a所示的結果,即預測邊界過度復雜。控制模型整體復雜度的一種方法是,通過正則化引入懲罰參數(shù)。這個新參數(shù)會通過人為增大預測誤差,對模型復雜度的增加進行懲罰,從而使算法同時考慮復雜度和準確度。使模型保持簡單有助于提高模型的泛化能力。評價模型|9評價模型建好模型之后,必須對它進行評價。我們經(jīng)常會使用一些評價指標來比較模型的預測準確度。對于如何定義和懲罰不同類型的預測誤差,不同的評價指標各不相同。接下來,我們將探討3種常用的評價指標:預測準確率、混淆矩陣和均方根誤差。根據(jù)學習目標的要求,有時甚至會設計新的評價指標,以便針對特定類型的誤差進行懲罰和規(guī)避。所以,本書講解的評價指標并非面面俱到。有關評價指標的更多例子,請參考附錄D。分類指標關于預測準確率,最簡單的定義就是正確的預測所占的比例。回到表1-1的例子,對買魚與否的預測準確率,可以這樣表述:在預測某位顧客是否買魚時,我們的模型在90%的時間里都是對的。雖然預測準確率這個指標很容易理解,但我們無法通過它得知預測誤差是如何產生的。混淆矩陣可以讓我們進一步了解預測模型的優(yōu)缺點。1-490%客買魚的預測,它對不買魚的預測更準確。此外,假正類型和假負類型5個錯誤。表1-4混淆矩陣揭示了模型在預測買魚與否時的準確度會買不會買會買不會買買1(正例)5(假負例)未買5(假正例)89(負例)實際結果在某些情況下,分辨預測錯誤的類型至關重要。以地震預測為例,10|第1章基礎知識假負類型的錯誤(即預測不會發(fā)生地震,實際上卻發(fā)生了)所付出的代價要遠高于假正類型的錯誤(即預測會發(fā)生地震,實際上卻未發(fā)生。回歸指標驗證指標并不能完整地體現(xiàn)模型的性能。過擬合模型(有關內容請參考1.3節(jié))在面對當前數(shù)據(jù)時表現(xiàn)良好,但是在面對新數(shù)據(jù)時可能表現(xiàn)得很糟糕。為了避免出現(xiàn)這種情況,必須使用合適的驗證過程對模型進行評價。驗證是指評估模型對新數(shù)據(jù)的預測準確度。然而,在評估模型時,并不一定非要使用新數(shù)據(jù),而是可以把當前的數(shù)據(jù)集劃分成兩部分:一部分是訓練集,用來生成和調整預測模型;另一部分是測試集,用來充當新數(shù)據(jù)并評估模型的預測準確度。最好的模型,針對測試集所做的預測一定是最準確的。為了使驗證過程行之有效,需要不帶偏差地把數(shù)據(jù)點隨機分派到訓練集和測試集中。然而,如果原始數(shù)據(jù)集很小,可能無法留出足夠的數(shù)據(jù)來形成測試集,因為當用于訓練模型的數(shù)據(jù)較少時,準確度無法得到保障。為了解決這個問題,有人提出了交叉驗證這個方法:使用同一個數(shù)據(jù)集進行訓練和測試。交叉驗證最大限度地利用了可用的數(shù)據(jù),它把數(shù)據(jù)集劃分成若干組,用來對模型進行反復測試。在單次迭代中,除了某一組以外,其他1.5小結|11各組都被用來訓練預測模型;然后,留下的那組被用來測試模型。這個過程重復進行,直到每一組都測試過模型,并且只測試過一次,如圖1-3所示。分組測試訓練訓練訓練測試訓練訓練訓練結果1訓練測試訓練訓練訓練測試訓練訓練結果2訓練訓練測試訓練訓練訓練測試訓練結果3訓練訓練訓練測試訓練訓練訓練測試結果4圖1-3數(shù)據(jù)集的交叉驗證過程。數(shù)據(jù)集被劃分成4組,模型最終的預測準確度是4個結果的平均值由于每次迭代用來做預測的數(shù)據(jù)各不相同,因此每次得到的預測結如果交叉驗證結果表明模型的預測準確度較低,可以重新調整模型的參數(shù)或者重新處理數(shù)據(jù)。小結數(shù)據(jù)科學研究有4個關鍵步驟。準備數(shù)據(jù)。選擇算法,為數(shù)據(jù)建立模型。調整算法參數(shù),優(yōu)化模型。根據(jù)準確度評價模型。第2章k均值聚類找出顧客群讓我們聊聊電影喜好這個話題。如果一個人喜歡《初戀50次》這27套禮然而,給顧客分組并非易事。我們可能一開始并不知道應該如何分組,也不知道應該分多少組。k均值聚類可以幫我們回答這些問題。這個方法可以用來把顧客或產品分入不同的群組,其中k表示群組個數(shù)。示例:影迷的性格特征為了使用k均值聚類方法找出顧客群,需要可量化的顧客信息。一個常用的變量是收入,因為與低收入顧客群相比,高收入顧客群往往更喜歡購買名牌商品。這樣一來,商家就可以利用這個信息向高收入顧客群投放奢侈品廣告。性格特征是另一個常用的變量。在一項針對Facebook用戶的研究中,研究人員邀請用戶參與問卷調查,以了解他們在4種性格特征上14|第2章k均值聚類的得分:外向型(對社會交往的喜歡程度、盡責型(工作努力程度、情緒型(受壓力影響的程度)以及開放型(對新事物的接受程度。初步分析表明,這些性格特征之間存在正相關關系。高度盡責的人往往更外向,高度情緒化的人則往往更開放。因此,為了更好地對這些性格特征進行可視化,將它們兩兩配對——外向型和盡責型、情緒型和開放型——并統(tǒng)計每對的得分,然后在二維圖中標出。接下來,把每個人的總得分與他或她在Facebook上點贊的電影頁面進行匹配。這樣一來,就可以通過不同的性格特征給影迷分組,如圖2-1所示。在圖2-1中,可以看到兩個主要群組。紅色:外向又盡責的影迷,他們喜歡動作片和愛情片。藍色:除了這兩個群組外,中間部分的電影好像是大家都喜歡的。50類似產品進行促銷。2.2示例:影迷的性格特征|15情緒化又開放影迷的性格特征2.2示例:影迷的性格特征|15情緒化又開放影迷的性格特征《婚禮傲客》《初戀的回憶》 《婚禮傲客》《初戀的回憶》 《好家伙《假結婚》 《特工紹特》《27套禮服》《教父》 《七寶奇謀》《忘掉莎拉·馬歇爾》《初戀50次》《海底總動員》《終結者》《傲慢與偏見》《指環(huán)王》《龍威小子》《阿凡達》《納尼亞傳奇》《哈利·波特》《早餐俱樂部》《回到未來》《大魚》《低俗小說》《第九區(qū)》《歪小子斯科特》《巨蟒與圣杯》2-116|第2章k均值聚類定義群組在定義群組時,必須回答兩個問題。有多少個群組?每個群組中有誰?有多少個群組2-1中有兩個群組,但它們可以被進一步劃分。例如,藍色群組可以被進一步劃分成兩個子群組:故事片(包)和奇幻片(包括《巨蟒與圣杯》。隨著群組數(shù)量增加,每個群組中的成員彼此越來越相似,相鄰群組之間的區(qū)別則越來越不明顯。在極端情況下,每個數(shù)據(jù)點本身就是一個群組,但這種分組方式毫無意義。顯然,在決定群組數(shù)量時必須有所權衡。首先,群組數(shù)量要足夠大,以便提取有意義的模式,用作商業(yè)決策參考;其次,還要足夠小,能夠確保各個群組之間有明顯的區(qū)別。群組內散度要確定合適的群組數(shù)量,一種方法是使用陡坡圖,如圖2-2所示。群組內散度0 1 2 3 4 5 6 7 8 9 10群組數(shù)量圖2-2彎曲的陡坡圖表明存在兩三個群組定義群組|17陡坡圖可以展現(xiàn)群組內散度隨群組數(shù)量增加而降低的過程。若所有成員都屬于同一個群組,則群組內散度將達到最大值。隨著群組數(shù)量增加,各個群組變得更緊湊,群組成員也變得更相似。2-22時,曲線拐彎,這兩個群組對2-13時,曲線再次拐彎(盡管不如前一個明顯3個群組,即普遍受歡迎的電影。但是,若繼續(xù)增加群組數(shù)量,會導致群組變小,還會增大區(qū)分各個群組的難度。確定好合適的群組數(shù)量之后,就該確定每個群組的成員了。每個群組中有誰群組成員是在迭代過程中確定的,下面以2個群組為例進行講解,如圖2-3所示。步驟1 步驟2步驟3 步驟4圖2-3k均值聚類方法的迭代過程18|第2章k均值聚類接下來,不斷調整中心點的位置,直至與真實的位置重合。而后,根據(jù)各數(shù)據(jù)點與中心點的距離,重新為每個數(shù)據(jù)點分配群組。如果某個數(shù)據(jù)點離原先所在群組的中心點較遠,而離鄰近群組的中心點較近,那就把它重新劃入鄰近的群組。量有多少,這些步驟都適用。步驟1:首先猜測每個群組的中心點。因為暫時不能確定通過猜測得到的中心點是否正確,所以稱它們?yōu)閭沃行狞c。步驟2:把每個數(shù)據(jù)點分配給最近的偽中心點。這樣一來,就得到了兩個群組,即紅色群組和藍色群組,如圖2-3所示。步驟3:根據(jù)群組成員的分布,調整偽中心點的位置。步驟4:重復步驟2和步驟3,直至群組成員不再發(fā)生變化。23維度上進行。對于商家來說,更多的維度可能是顧客的年齡或到訪的次數(shù)。雖然很難對多維度分析進行可視化,但是可以借助程序計算數(shù)據(jù)點和群組中心點在多維度情形下的距離。局限性盡管k均值聚類方法很有用,但是它本身存在一定的局限性。k均值聚類方法確定它應該屬于哪個群組。2.5小結|19群組被假定是正圓形的。查找距離某個群組中心點最近的數(shù)據(jù)點,這一迭代過程類似于縮小群組的半徑,因此最終得到的群組在形狀上類似于正圓形。假設群組的實際形狀是橢圓形,那k均值聚類方法之后,位于橢圓兩端的數(shù)據(jù)點可能會被劃入鄰近的群組,這會造成很大的問題。群組被假定是離散的。k均值聚類既不允許群組重疊,也不允許它們相互嵌套。除了k均值聚類之外,還有更可靠的聚類方法。這些聚類方法不會強制把每個數(shù)據(jù)點劃入單個群組,而會計算每個數(shù)據(jù)點屬于其他群組的概率,因此適合用來識別非圓形或有重疊的群組。盡管k均值聚類存在上述局限性,但是它的優(yōu)點是簡單樸素。一個好的數(shù)據(jù)分析策略是,先用k均值聚類方法大致了解數(shù)據(jù)結構,再綜合運用其他更高級的方法進行深入分析,這樣做可以大大彌補k均值聚類方法的局限性。小結kk必須事先指定。然后調整群組中心點的位置。重復這兩個步驟,直到群組中的成員不再發(fā)生變化。k均值聚類最適合用于正圓形、非重疊的群組。第3章主成分分析食物的營養(yǎng)成分很多人都聽說過食物金字塔,如圖3-1所示。對于營養(yǎng)師來說,區(qū)分食物的最佳依據(jù)是什么呢?是維生素含量,還是蛋白質含量?抑或是兩者兼顧?圖3-1簡單的食物金字塔搞清楚最能區(qū)分各項數(shù)據(jù)的變量,有如下益處。有助于可視化:選取合適的變量繪圖有助于獲取更多信息。有助于發(fā)現(xiàn)群組:通過良好的可視化,可以發(fā)現(xiàn)隱藏的分類或群組。以食物為例,除了識別出肉類和蔬菜這兩大類之外,還可以針對蔬菜劃分出子類。那么,如何找到最能區(qū)分各項數(shù)據(jù)的變量呢?22|第3章主成分分析主成分主成分分析用于找出最能區(qū)分數(shù)據(jù)點的變量。這種變量被稱為主成分,數(shù)據(jù)點會沿著主成分的維度最大限度地分散開,如圖3-2所示。圖3-2主成分的直觀表示C”這個變量來區(qū)分不同的食物。因為蔬菜含維生素C而肉類普遍缺C”這個變量區(qū)分蔬菜和肉類(3-3左欄所示,但是無法進一步區(qū)分不同的肉類。為了進一步區(qū)分不同的肉類,可以選擇把脂肪含量作為第2個變量,因為肉類含有脂肪,而大部分蔬菜則不然。由于脂肪和維生素C的計量單位不同,因此在組合之前,必須先對它們進行標準化。CC維生素C維生素C–脂肪(維生素C+膳食纖維)–脂肪蘑菇青魚鯖魚雞肉牛肉蘑菇青魚鯖魚雞肉牛肉西芹菜花黃豆茄子甜玉米西芹羽衣甘藍西蘭花菜花珍珠雞 甜玉米甜玉米青魚鯖魚雞肉牛肉豬肉羊肉西芹羽衣甘藍西蘭花菜花卷心菜菠菜山藥圖3-3使用不同的變量組合對食物進行分類在圖3-3中,變量“維生素C”把蔬菜向上展開,而負的“脂肪”可以把肉類向下展開。把這兩個變量結合起來,就可以同時把蔬菜和肉類展開。蔬菜的膳食纖維含量不一樣。相比之下,新變量“C3-3右欄所示。雖然本例通過試錯法得到主成分,但其實主成分分析可以更系統(tǒng)化,來看下一個例子。24|第3章主成分分析示例:分析食物種類借助美國農業(yè)部公開的數(shù)據(jù),可以分析一個食物隨機樣本的營養(yǎng)4C3-4可以看到,某些營養(yǎng)成分似乎總是同時出現(xiàn)。羊肉羊肉豬肉羽衣甘藍西芹脂肪 蛋白質 膳食纖維 維生素C圖3-4比較不同食物的營養(yǎng)成分含量C向變化。為了證實這個猜想,可以檢查營養(yǎng)成分變量之間是否存在聯(lián)系(6.5節(jié)。的確,脂肪含量和蛋白質含量之間存在明顯的正相關關系(0.56C含量之間也存在同樣的關系(0.57|254個營養(yǎng)成分變量,只需把高度相關的變量組合起來,分析2個維度即可。正因如此,主成分分析被認為是一種降維技巧。針對食物數(shù)據(jù)集應用主成分分析,可以得到如圖3-5所示的主成分。1主成分23主成分4脂肪0.450.660.580.18蛋白質0.550.210.460.67膳食纖維0.550.190.430.69維生素C0.440.700.520.22圖3-5主成分是營養(yǎng)成分變量的最優(yōu)加權組合。同一個主成分下的粉色單元格代表加權方向一致的變量每個主成分都是營養(yǎng)成分變量的加權組合,其中權重可正可負。例如,為了獲得主成分1的值,可以做如下計算:0.55(膳食纖維)+0.44(維生素C)–0.45(脂肪)–0.55(蛋白質)采用主成分分析之后,可以不再通過試錯法組合變量,而是通過精確計算各個變量的權重來獲得最優(yōu)變量組合。請注意,主成分1體現(xiàn)了我們之前的猜想,即脂肪和蛋白質是一對,膳食纖維和維生素C是一對,并且這兩對是負相關關系。1可以用于區(qū)分肉類和蔬菜,主成分2則可以用于在肉類()和蔬菜(C)中進一步分出子12繪圖,可以得到目前為止最佳的數(shù)據(jù)展開效果,如圖3-6所示。226|第3章主成分分析西芹羊肉羽衣甘藍豬肉 球芽甘藍黃豆 西蘭花牛肉豌豆小香蔥雞肉 鯖魚 菜花 火雞青魚 珍珠雞 大蒜卷心菜菠菜山藥章魚黑線鱈牡蠣 蘆筍 胡蘿卜 蘑菇 香芹主成分1圖3-6使用兩個主成分繪圖對于圖中以藍色表示的肉類來說,主成分1的值較小,所以它們集中分布在左側,而以橙色表示的蔬菜則集中分布在右側。還可以看到,海產品(深藍色)的脂肪含量較低,即主成分2的值較小,因而主要分布在圖的左下角。同理,幾種非葉類蔬菜(深橙色)的維生素C含量較低,所以大都分布在圖的右下角。確定主成分數(shù)量4來源于原始變量,因此用來區(qū)分數(shù)據(jù)點的可用信息會受到原始變量個數(shù)的制約。局限性|27然而,為了讓結果更簡單、更通用,應該只選擇前幾個主成分來進行可視化和后續(xù)分析。主成分按照其對數(shù)據(jù)點的區(qū)分效果進行排列,第1個主成分的區(qū)分效果最好。可以利用第2章講過的陡坡圖來確定合適的主成分數(shù)量。從圖3-7可以看出,隨著個數(shù)增多,主成分區(qū)分數(shù)據(jù)點的效果會變差。根據(jù)經(jīng)驗,陡坡圖曲線的拐彎處往往體現(xiàn)了最佳主成分數(shù)量。5040數(shù)據(jù)散度百分比30數(shù)據(jù)散度百分比201001 2 3 4主成分編號圖3-7陡坡圖曲線在主成分2處拐彎,這表示最佳主成分數(shù)量為2在圖中,曲線在主成分2處拐彎。這意味著,盡管用更多的主成分可以更好地區(qū)分數(shù)據(jù)點,但是復雜度會升高,因此并不值得這樣做。從陡坡圖中可以看到,前兩個主成分已經(jīng)可以讓數(shù)據(jù)的散度達到約70%。在對當前的數(shù)據(jù)樣本進行解釋時,使用的主成分越少,泛化能力就越強。局限性在分析包含許多變量的數(shù)據(jù)集時,主成分分析很有用。但是,它本身存在一些缺點。28|第3章主成分分析散度最大化:主成分分析有個重要假設,即數(shù)據(jù)點最分散的維度是最有用的。然而,這個假設并不一定正確。一個常見的反3-8所示。在計算時,需要沿著垂直方向(即堆疊高度)把一張薄餅與另一張區(qū)分開。然而,如果(即薄餅直徑)是完成這項任務的最佳主成分,這是因為水平方向上的散度是最大的。堆疊高度薄餅直徑圖3-8與數(shù)薄餅進行類比解釋成分:主成分分析算法面臨的一個重大難題是,必須對其產生的成分進行解釋。但有時,可能很難解釋變量按某種方式在前面的例子中,了解有關食物種類的知識有助于理解主成分為何由那些營養(yǎng)成分變量組成。正交成分:主成分分析算法總是生成正交主成分,即成分之間存在正交關系。然而,這個假設可能不正確,因為信息維度之間可能不存在正交關系。為了解決這個問題,可以使用另一項技術,即獨立成分分析。獨立成分分析不需要其成分之間存在(3-9所示這使得每個獨立成分所揭示的與數(shù)據(jù)集有關的信息都是唯一的。除了不需要假設正交關系,獨立成分分析在確定成分時還無須考慮數(shù)據(jù)的散度,因而不易出現(xiàn)薄餅例子中的錯誤。3.5小結|29主成分分析 (b)獨立成分分析圖3-9在識別重要成分時,主成分分析與獨立成分分析不同雖然獨立成分分析看起來很棒,但就降維來說,主成分分析仍然是最受歡迎的一個算法,了解其原理的確很有用。當沒有把握時,你總是小結主成分分析是一種降維技巧,它使得我們可以使用較少的變量來描述數(shù)據(jù),這些變量即為主成分。每個主成分都是原始變量的某種加權組合。最好的主成分可以用來改進數(shù)據(jù)分析和可視化。當信息最豐富的幾個維度擁有最大的數(shù)據(jù)散度,并且彼此正交時,主成分分析能有最佳效果。第4章關聯(lián)規(guī)則發(fā)現(xiàn)購買模式去雜貨店購物時,你也許會隨身帶著一份購物清單,上面有你根據(jù)自己的需求和喜好列出的待購物品。家庭主婦可能會為晚餐購買健康食材,單身漢則可能會買啤酒和薯片。了解這些購買模式有助于找到多種促進銷售的方法。例如,如果商品X和Y被顧客同時購買的頻率很高,那么就可以做如下操作:YX的廣告宣傳對象;XY擺放在同一個貨架上,以刺激購買其中一款商品的顧客同時購買另一款商品;XYYX。關聯(lián)規(guī)則可用于揭示商品之間的關聯(lián)信息,從而增加銷售利潤。不僅如此,關聯(lián)規(guī)則還可以用于其他領域。比如,在醫(yī)療診斷中,了解共病癥狀有助于改善治療效果。支持度、置信度和提升度識別關聯(lián)規(guī)則的常用指標有3個:支持度、置信度和提升度。支持度指某個項集出現(xiàn)的頻率,也就是包含該項集的交易數(shù)與總32|第4章關聯(lián)規(guī)則交易數(shù)的比例(4-1所示4-1中,蘋果8次交易中出4{蘋2/8。可以人為設定一個支持度支持度{ }=48圖4-1支持度指標表4-1交易示例交易1交易2交易3交易4交易5交易6交易7交易8置信度XY項同時出現(xiàn)的頻率,記作{XY}。XYX項的交易數(shù)之比(4-2所示4-1中,{蘋果→啤酒}的置信度為75%。支持度{ ,}支持度{支持度{ ,}支持度{ }圖4-2置信度指標這個指標有一個缺點,那就是它可能會錯估某個關聯(lián)規(guī)則的重要性。圖4-2中的例子只考慮了蘋果的購買頻率,而并未考慮啤酒的購買|33頻率。如果啤酒也很受歡迎(4-1所示,那么包含蘋果的交易顯然很有可能也包含啤酒,這會抬高置信度指標。然而,借助第3個指標,我們可以同時把蘋果和啤酒出現(xiàn)的基礎頻率考慮在內。提升度XY項一同出現(xiàn)的頻率,但同時要考慮這兩項各自出現(xiàn)的頻率(4-3所示。因此,{蘋果→啤酒}的提升度等于{蘋果→啤酒}的置信度除以{啤酒}的支持度。支持度{ ,}支持度{支持度{ ,}支持度{ }×支持度{ 圖4-3提升度指標根據(jù)表4-1,{蘋果→啤酒}的提升度等于1,這表示蘋果和啤酒無關聯(lián)。{X→Y}的提升度大于1,這表示如果顧客購買了商品X,那么可能也會購買商品Y;而提升度小于1則表示如果顧客購買了商品X,那么不太可能再購買商品Y。示例:分析雜貨店的銷售數(shù)據(jù)為了演示上述指標的用法,下面將對某個雜貨店一個月(30天)的銷售數(shù)據(jù)進行分析。圖4-4展示了多對雜貨之間的關聯(lián)關系,它們的置信度和提升度分別大于0.9%和2.3。圓越大,支持度越高;顏色越紅,則提升度越高。從圖4-4中可以觀察到如下幾種購買模式:購買次數(shù)最多的是仁果和熱帶水果;其次是洋蔥和蔬菜;購買奶酪片的顧客很可能會買香腸;購買茶葉的顧客很可能會買熱帶水果。34|第4章關聯(lián)規(guī)則調味料
蛋黃醬擦洗劑
酒(開胃小吃)草藥香腸 洋
罐裝啤酒奶酪片
卷制品
其他蔬菜 湯羹
男士護膚品肉醬 特制奶酪火雞酸奶大米
凝乳酪葡萄
瓶裝水軟干酪
谷物 全脂
熱帶水果
再制奶酪仁果 茶葉罐裝蔬菜圖4-4雜貨關聯(lián)網(wǎng)絡圖前面提到,置信度指標的一個缺點是,它可能會錯估某個關聯(lián)規(guī)則的重要性。為了證明這一點,下面來看看3個包含啤酒的關聯(lián)規(guī)則,如表4-2所示。表4-2與啤酒相關的3個關聯(lián)規(guī)則關聯(lián)規(guī)則支持度置信度提升度啤酒→汽水1.38%17.8%1.0啤酒→漿果0.08%1.0%0.3啤酒→男士護膚品0.09%1.2%2.64-2中,{}17.8%。然而,在所有交易中,二者出現(xiàn)的頻率都很高(4-3所示,所以它們之間的關聯(lián)可能只是巧合。這一點可以通過其提升度為1得到印證,即購買啤酒和購買汽水這兩個行為之間并不存在關聯(lián)。先驗原則|35表4-3各商品在與啤酒相關的關聯(lián)規(guī)則中的支持度商品支持度啤酒7.77%汽水17.44%漿果3.32%男士護膚品0.46%另一方面,{啤酒→男士護膚品}規(guī)則的置信度低,這是因為男士護膚品的總購買量不大。盡管如此,如果一位顧客買了男士護膚品,那么很有可能也會買啤酒,這一點可以從較高的提升度(2.6)推斷出來。{啤酒→漿果}的情況則恰好相反。從提升度小于1這一點,我們可以得出結論:如果一位顧客購買了啤酒,那么可能不會買漿果。雖然很容易算出各個商品組合的銷售頻率,但是商家往往更感興趣的是所有的熱銷商品組合。為此,需要先為每種可能的商品組合計算支持度,然后找到支持度高于指定閾值的商品組合。101023(10–1如果有幾百種商品,那么這個數(shù)字將呈指數(shù)增長。顯然,我們需要一種更高效的方法。先驗原則要想減少需要考慮的項集組合的個數(shù),一種方法是利用先驗原則。簡單地說,先驗原則是指,如果某個項集出現(xiàn)得不頻繁,那么包含它的任何更大的項集必定也出現(xiàn)得不頻繁。這就是說,如果{啤酒}是非頻繁項集,那么{啤酒,比薩}也必定是非頻繁項集。因此,在整理頻繁項集列表時,既不需要考慮{啤酒,比薩},也不需要考慮其他任何包含啤酒的項集。36|第4章關聯(lián)規(guī)則尋找具有高支持度的項集遵循如下步驟,可以利用先驗原則得到頻繁項集列表。步驟1:列出只包含一個元素的項集,比如{蘋果}和{梨}。步驟2:計算每個項集的支持度,保留那些滿足最小支持度閾值條件的項集,淘汰不滿足的項集。步驟3:向候選項集中增加一個元素,并利用在步驟2中保留下來的項集產生所有可能的組合。步驟4:重復步驟2和步驟3,為越來越大的項集確定支持度,直到?jīng)]有待檢查的新項集。圖4-5描繪了利用先驗原則對候選項集進行大幅精簡的過程。如果{}的支持度很低,那么它及其他所有包含它的候選項集都會被移除。這樣一來,待檢查項集的數(shù)量就減少了一大半。4-5紅色虛線框內的項集會被移除4.6小結|37尋找具有高置信度或高提升度的關聯(lián)規(guī)則除了識別具有高支持度的項集之外,先驗原則還能識別具有高置信度或高提升度的關聯(lián)規(guī)則。一旦識別出具有高支持度的項集,尋找關聯(lián)規(guī)則就不會那么費勁了,這是因為置信度和提升度都是基于支持度計算出來的。舉個例子,假設我們的任務是找到具有高置信度的關聯(lián)規(guī)則。如果{啤酒,薯片→蘋果}規(guī)則的置信度很低,那么所有包含相同元素并且箭頭右側有蘋果的規(guī)則都有很低的置信度,包括{啤酒→蘋果,薯片}和{薯片→蘋果,啤酒}。如前所述,根據(jù)先驗原則,這些置信度較低的規(guī)則會被移除。這樣一來,待檢查的候選規(guī)則就更少了。局限性計算成本高:盡管利用先驗原則可以減少候選項集的個數(shù),但是當庫存量很大或者支持度閾值很低時,候選項集仍然會很多。一個解決辦法是,使用高級數(shù)據(jù)結構對候選項集進行更高效的分類,從而減少比較的次數(shù)。假關聯(lián):現(xiàn)的關聯(lián)規(guī)則具有普遍性,應該對它們進行驗證(1.4.3節(jié)盡管有上述局限性,但在從中等規(guī)模的數(shù)據(jù)集中識別模式時,關聯(lián)規(guī)則仍然是一個很直觀的方法。小結關聯(lián)規(guī)則用于揭示某一個元素出現(xiàn)的頻率,以及它與其他元素的關系。38|第4章關聯(lián)規(guī)則識別關聯(lián)規(guī)則的常用指標有3個:{X}X項出現(xiàn)的頻率;{XY}XY項同時出現(xiàn)的頻率;{XY}XY項一同出現(xiàn)的頻率,并且考慮每項各自出現(xiàn)的頻率。利用先驗原則,可以淘汰一大部分非頻繁項集,從而大大地加快搜索頻繁項集的速度。第5章社會網(wǎng)絡分析展現(xiàn)人際關系大部分人都有多個社交圈,其中有親戚、同事和同學等。為了探究人際關系,比如找出重要人物及其對群體的影響,可以運用社會網(wǎng)絡分析。這項技術前景廣闊,可以應用于多個領域,比如病毒式營銷、傳染病建模,以及團體競賽策略等。盡管如此,最著名的用例莫過于社會網(wǎng)絡分析,這正是其名稱的由來。圖5-1描繪了如何在社會網(wǎng)絡分析中表示人際關系。瑪麗朱莉婭戴維朱莉婭戴維圖5-1簡單的朋友圈示例,連線越粗,關系越親密圖5-1展示了一個關系網(wǎng)絡,亦稱關系圖。該關系圖由4人組成,每個人代表一個節(jié)點。各個節(jié)點之間的連線表示關系,這些連線也被稱為邊。每條邊都可帶權重,用于表示相應關系的強弱。40|第5章社會網(wǎng)絡分析從圖5-1可知:3人都認識;湯姆只認識戴維,并且他們是好朋友;朱莉婭認識瑪麗和戴維,但關系一般。除了人際關系之外,社會網(wǎng)絡分析還可以用來為其他實體構建網(wǎng)絡,前提是這些實體之間彼此有聯(lián)系。本章將利用這項技術分析國際貿易網(wǎng)絡。示例:國際貿易本例只考慮貿易額超過1億美元的交易。根據(jù)2006~2015年某商品的貿易額,我們構建了一個交易網(wǎng)絡,其中包含90個節(jié)點和293條邊。在對這個網(wǎng)絡進行可視化時,需要用到力導向算法:不存在聯(lián)系的節(jié)點彼此排斥,存在聯(lián)系的節(jié)點則彼此吸引,吸引力的強弱取決于聯(lián)系的緊密程度。比如,貿易額大的國家之間的連線較粗,并且相距很近。借助Louvain方法(下一節(jié)講解)分析該網(wǎng)絡,可以得到3個群組。藍色群組黃色群組:群組成員多為歐洲國家;該群組和藍色群組有緊密關系。紅色群組:這個群組與其他兩個群組分離,其成員主要包括亞洲和非洲的國家。除了把各個國家分入不同的群組之外,還可以使用PageRank算法(稍后講解)對各個國家進行影響力排名。圖5-3列出了在該網(wǎng)絡中最具影響力的前10個國家,結果與圖5-2中的節(jié)點大小相符。丹麥 比利
保加利亞厄瓜多爾
拉脫維亞南非
匈牙利
約旦泰國阿曼瑞士摩洛哥
加納納米比亞
柬埔寨羅馬尼亞
智利希臘葡萄牙
印度尼西亞英國
土庫曼斯坦
坦桑尼亞
斯里蘭卡文萊奧地利
沙特阿拉伯
巴基斯坦法國
孟加拉國
赤道幾內亞新加坡韓國
中國 烏克
埃塞俄比亞
剛果(金)乍得加拿大
土耳其
緬甸委內瑞拉
格魯吉亞利比亞
美國西班牙
埃及 印度 俄羅
烏干達蘇丹墨西哥
挪威
日本
意大利
伊拉克
烏茲別克斯坦
越南
伊朗
白俄羅斯愛爾蘭
芬蘭 波哥倫比亞
科威特
阿富汗
哈薩克斯坦
也門尼日利亞蒙古國菲律賓阿根廷新西蘭
黎巴嫩
卡塔爾 秘魯突尼斯
亞美尼亞5.2示例:國際貿易|41圖5-2某商品的國際貿易網(wǎng)絡5.2示例:國際貿易|4142|第5章社會網(wǎng)絡分析美國俄羅斯德國法國中國烏克蘭荷蘭意大利英國西班牙0 2 4 6 8 10PageRank值 總貿易額(單元:億美元)圖5-3根據(jù)PageRank算法,得到在本例中最具影響力的10個國家。每個國家的PageRank值(黃色)和其總貿易額(灰色)并排顯示接下來詳細了解Louvain方法和PageRank算法。Louvain如圖5-2所示,通過對節(jié)點分組,可以找出網(wǎng)絡中存在的群組。研究這些群組有助于理解網(wǎng)絡各個部分的區(qū)別及聯(lián)系。Louvain方法用來在網(wǎng)絡中找出群組,它會嘗試使用不同的聚類配置來做如下兩件事:把同一個群組中各個節(jié)點間的邊數(shù)和強度最大化;把屬于不同群組的節(jié)點間的邊數(shù)和強度最小化。PageRank|43為了獲得理想的聚類配置,Louvain方法會不斷迭代,步驟如下。步驟1:把每個節(jié)點看作一個群組,即一開始群組數(shù)和節(jié)點數(shù)相同。步驟2:把一個節(jié)點重新分配給對提高模塊度有最大幫助的群組;如果無法進一步提高模塊度,節(jié)點保持不動;針對每個節(jié)點重復這個過程,直到不能再分配。步驟3:把步驟2中發(fā)現(xiàn)的每個群組作為一個節(jié)點,構建出一個粗粒度網(wǎng)絡,并且把以前的群間邊合并成連接新節(jié)點且?guī)嘀氐倪叀2襟E4:重復步驟2和步驟3,直到無法再重新分配和合并。Louvain方法以這樣的方式幫助我們找出更多重要的群組:先發(fā)現(xiàn)小群組,然后在適當?shù)那闆r下合并它們。Louvain方法簡單、高效,這使它成為流行的網(wǎng)絡聚類方法。但是,它本身有一定的局限性。重要但較小的群組可能會被合并。反復合并群組有可能使那些重要但較小的群組被忽略。為了防止出現(xiàn)這種情況,需要檢查有多種可能的聚類配置。如果網(wǎng)絡中包含重疊或嵌套的群組,Louvain方法找出最理想的聚類解決方案。盡管如此,當存在幾種擁有較高模塊度的解決方案時,可以依據(jù)其他信息源對群組予以驗證。5.4 PageRank雖然群組可以反映出相互作用高度集中的區(qū)域,但是這些相互作用可能受占主導地位的節(jié)點支配,群組則圍繞著這些主導節(jié)點形成。為了找出占主導地位的節(jié)點,需要對節(jié)點進行排序。44|第5章社會網(wǎng)絡分析PageRank算法以谷歌公司聯(lián)合創(chuàng)始人LarryPage的姓命名,是谷歌公司最初用來為網(wǎng)頁排名的算法之一。雖然PageRank算法最著名的用例是為網(wǎng)頁排名,但是實際上它可以用來為任意類型的節(jié)點排名。在PageRank算法中,決定一個網(wǎng)頁排名的因素有如下3個。鏈接數(shù)量:被其他網(wǎng)頁鏈接的次數(shù)越多,該網(wǎng)頁的訪問者可能就越多。鏈接強度:這些鏈接被訪問的次數(shù)越多,該網(wǎng)頁的流量就越大。鏈接來源:如果被其他有較高排名的網(wǎng)頁鏈接,那么該網(wǎng)頁的排名也會升高。圖5-4展示了PageRank算法的原理。其中,節(jié)點代表網(wǎng)頁,邊代表超鏈接。M11112 2112D2T圖5-4在這個網(wǎng)絡中,節(jié)點代表網(wǎng)頁,邊代表超鏈接超鏈接的權重越大,則其箭頭所指方向的流量就越大。從圖5-4可以看到,對于網(wǎng)頁M的訪問者而言,訪問網(wǎng)頁D的可能性是訪問網(wǎng)頁J的兩倍,而訪問網(wǎng)頁T的可能性為零。5-4100個訪問者的上網(wǎng)行為,并觀察他們最后停留在哪個網(wǎng)頁上。PageRank|45首先,把100個訪問者平均分配給4個網(wǎng)頁,如圖5-5所示。M252525252525DT圖5-5初始設置:100個訪問者被平均分配給4個網(wǎng)頁然后,根據(jù)鏈接的方向和強度為每個網(wǎng)頁重新分配訪問者。比如,M2/3D1/3J。5-6中,各條邊顯示了進出各個網(wǎng)頁的訪問者數(shù)量。M12.52512.5258.32510 16.6512.5251025D25T5-6根據(jù)鏈接的方向和強度重新分配訪問者經(jīng)過重新分配之后,網(wǎng)頁M2310個來自D,13J5-7顯示了每個網(wǎng)頁最終的訪問者人數(shù)(舍入到最接近的整數(shù)。46|第5章社會網(wǎng)絡分析M231323135410DT圖5-7重新分配后的訪問者分布情況為了得到每個網(wǎng)頁的PageRank排名,重復上述分配過程,直到每個網(wǎng)頁的訪問者人數(shù)不再發(fā)生改變。每個網(wǎng)頁的最終訪問者人數(shù)體現(xiàn)了該網(wǎng)頁的PageRank排名:訪問者越多,排名就越高。盡管PageRank算法易于使用,但它有局限性,那就是它偏向于舊節(jié)點。如果一個新網(wǎng)頁包含非常棒的內容,但一開始時訪問者人數(shù)很少,那么它的PageRank排名就較低,這有可能導致該網(wǎng)頁不在推薦之列。為了避免出現(xiàn)這種情況,可以定期更新PageRank值,讓新網(wǎng)頁隨著自身知名度的提高獲得提高排名的機會。不過,這種偏向有時反倒有益,尤其是對那些有著長期影響力的實體進行排序時,更是如此。這表明,一個算法的局限性在某種情況下可能正是它的優(yōu)點,這具體要看研究的問題是什么。局限性雖然用于聚類和排名的方法讓我們得以更深入地了解一個網(wǎng)絡,但是在理解結果時務必要謹慎。以5.2節(jié)為例,我們用國際貿易數(shù)據(jù)來評估國家之間的關系。這種方法可能會過于簡單,有如下缺點。5.6小結|47外交關系被忽略:雖然兩個節(jié)點之間的邊能體現(xiàn)進出口關系,從而在一定程度上反映兩國之間的友好關系,但對于同為進口方或同為出口方的國家,這種方法不適用。其他貿易因素被忽略:進出口貿易政策的制定涉及其他因素。除了加強雙邊關系外,各國可能還想通過貿易促進經(jīng)濟發(fā)展。因此,僅研究貿易數(shù)據(jù)可能得不到全面的結論。最終能否得到正確結論,取決于數(shù)據(jù)對考察對象的反映程度。因此,必須精心選擇用以生成網(wǎng)絡的數(shù)據(jù)類型。為了核實所選數(shù)據(jù)源切實可行并且分析技術足夠健壯,應該結合其他信息源驗證結果。小結社會網(wǎng)絡分析可用于繪制和分析多個實體之間的關系。Louvain方法用于在一個網(wǎng)絡中找出群組,具體做法是將群組內部的相互作用最大化,同時把群組之間的相互作用最小化。當群組大小相同且相互分離時,該方法的效果最佳。PageRank算法根據(jù)鏈接的數(shù)量、強度以及來源對網(wǎng)絡中的節(jié)點進行排序。這個算法有助于找出網(wǎng)絡中占主導地位的節(jié)點,但對鏈接數(shù)不太多的新節(jié)點并不友好。第6章回歸分析趨勢線趨勢線是做預測時常用的工具,它們很容易生成,也很容易理解。只要翻翻每天的報紙,就會看到大量趨勢線圖表,涉及的主題各種各樣,從股票價格到天氣預報。一般的趨勢往往只涉及單個預測變量,這個變量用來產生預測結果,比如使用時間(預測變量)預測一家公司的股票價格(預測結果。不過,通過添加更多預測變量,可以改善預測結果,比如除了時間之外,還使用銷售收入來一起預測股票價格。回歸分析不但可以通過考慮更多預測變量改善預測結果,而且還可以比較各個預測變量的強弱。為了理解回歸分析的原理,讓我們看一個預測房價的例子。示例:預測房價2070變量。經(jīng)過初步分析發(fā)現(xiàn),對房價影響最大的兩個因素是房間數(shù)以及周圍低收入居民所占的比例。從圖6-1可以看出,價格較高的房子通常房間數(shù)較多。為了預測房50|第6章回歸分析價,我們畫了一條趨勢線(圖中的藍線。這條趨勢線亦稱最佳擬合線,8個房間的房房價中位數(shù)(單位:千美元)子售價大約是38150美元。房價中位數(shù)(單位:千美元) 平均房間數(shù) 平均房間數(shù) (a)變換前 (b)變換后房價中位數(shù)除了房間數(shù)之外,房價還受周圍居民收入的影響。對于一所房子,其周圍低收入居民占的比例越大,房價就越低,如圖6-2所示。6-2a(a)變換前 (b)變換后房價中位數(shù)圖6-2房價和低收入居民占比的關系|516-16-2b布在趨勢線附近,這說明周圍居民的富裕程度對房價的影響要比房間數(shù)的影響大。房價中位數(shù)(單位:千美元)為了提高房價預測結果的準確度,可以把房間數(shù)和周圍居民的富裕程度結合起來并將其作為一個預測變量使用。不過,由于后者對房價的影響要比前者大,因此把兩者簡單地加起來并不合理。合理的做法是給通過周圍居民富裕程度所做的預測賦予更高的權重,如圖6-3所示。房價中位數(shù)(單位:千美元) 組合預測變量 組合預測變量 圖6-3反映的是房價和帶有最優(yōu)權重的組合預測變量的關系。該組合預測變量由房間數(shù)和周圍居民的富裕程度這兩個預測變量組合而成。請注意,相比之前,圖中的數(shù)據(jù)點離趨勢線更近,因此通過這條趨勢線所做的預測可能是最準確的。為了驗證這一點,可以比較使用3條趨勢線所得到的平均預測誤差,如表6-1所示。52|第6章回歸分析表6-1使用3條趨勢線所得到的平均預測誤差預測誤差(單位:千美元)房間數(shù)4.4周圍居民的富裕程度3.9房間數(shù)和周圍居民的富裕程度3.7顯而易見,通過帶權重的組合變量能夠得到更準確的預測結果。但是,我們在使用過程中要回答如下兩個問題。如何得到最優(yōu)權重組合?如何解釋它們?梯度下降法在回歸分析中,預測變量的權重是主要參數(shù),通過解方程就可以直接求得最優(yōu)權重。不過,由于回歸分析簡單并且適合用于闡釋概念,因此我們將用它來解釋另外一個優(yōu)化參數(shù)的方法。這個方法就是梯度下降法,一般在無法直接得到參數(shù)時使用。簡單地說,梯度下降法先初步猜測合適的權重組合,再通過一個迭代過程,把這些權重應用于每個數(shù)據(jù)點做預測,然后調整權重,以減少整體預測誤差。這個過程類似于一步步走到山底下。每走一步,梯度下降法都要判斷從哪個方向下是最陡峭的,然后朝著那個方向重新校準權重。最終,我們會到達最低點,這個點的預測誤差最小。圖6-4描繪了一條經(jīng)過優(yōu)化的回歸趨勢線如何與梯度上的最低點相對應。梯度下降法|53趨勢線 梯度下降預測誤差未優(yōu)化預測誤差預測誤差優(yōu)化后預測誤差圖6-4趨勢線通過梯度下降法達到最優(yōu)化除了回歸之外,梯度下降法也能用來優(yōu)化其他模型中的參數(shù),比如第8章講的支持向量機和第11章講的神經(jīng)網(wǎng)絡。然而,在這些更為復雜的模型中,梯度下降法的結果可能會受到“下山起點”(即初始參數(shù)值)的影響。比如,假設起點下方恰好有一個小凹坑,那么梯度下降法可能會將其誤認為是最優(yōu)點,如圖6-5所示。預測誤差圖6-5凹坑(綠色三角形)可能會被誤認為是最優(yōu)點,而真實的最優(yōu)點在更下方(綠色水平線)預測誤差54|第6章回歸分析為了降低陷入這種凹坑的風險,可以使用另外一種方法——隨機梯度下降法。在這種方法中,每次迭代并不是采用所有數(shù)據(jù)點,而是只從其中選取一個來調整參數(shù)。這樣做就引入了多變性,有助于算法逃離凹坑。雖然從這個隨機過程中得到的最終參數(shù)值可能不是最優(yōu)的,但與最優(yōu)值很接近,精度還是相當不錯的。梯度下降法的這個缺點通常只出現(xiàn)在更為復雜的模型中,做回歸分析時根本無須擔心這一點。回歸系數(shù)在為回歸預測變量求得最佳權重之后,需要對它們進行解釋。回歸預測變量權重的正式名稱是回歸系數(shù),它表示某個預測變量相比于其他預測變量的影響大小。換言之,它表示相關預測變量的增加值,而非絕對預測強度。舉例來說,如果使用房屋的建筑面積和房間數(shù)來預測房價,那么房間數(shù)的權重也許可以忽略不計。因為房間數(shù)在衡量房屋大小方面的作用與建筑面積有重疊,所以它對整個預測能力的貢獻很小。預測變量的度量單位不同也會影響對回歸系數(shù)的解釋。比如,對于同一個預測變量,以米為度量單位時的權重是以厘米為度量單位時的100倍。為了避免這個問題,應該在做回歸分析之前先對預測變量的度量單位進行標準化。標準化類似于統(tǒng)一使用百分位數(shù)來表示每個變量。經(jīng)過標準化之后,預測變量的系數(shù)被稱為標準化回歸系數(shù),可以用來做更準確的比較。(房間數(shù)和周圍低收入居民所相關系數(shù)|55房價=2.7(房間數(shù))–6.3(低收入居民所占比例)請注意,在這個方程中,低收入居民所占比例的權重前面有一個負號,這表示權重為負。這是因為該預測變量和房價是負相關關系,這一點可以從圖6-2中向下傾斜的趨勢線看出來。相關系數(shù)r6-6–11,它提供了兩部分信息。郵電r=1郵電r=0.5
r=0r=1 圖6-6不同的相關系數(shù)下數(shù)據(jù)的分布情況56|第6章回歸分析關聯(lián)方向:為負則表示兩者變化方向相反。房價和房間數(shù)是正相關關系,和周圍低收入居民所占比例是負相關關系。–16-1中趨勢線表示的相關系數(shù)是0.76-2b–0.8。這意味著在預測房價時,相比于房間數(shù),周圍低收入居民所占r0,則表示預測變量和結果之間不存在關系。因為相關系數(shù)表示單個預測變量的絕對強度,所以相比于回歸系數(shù),相關系數(shù)在對預測變量進行排序時更可靠。局限性雖然回歸分析能夠提供豐富的信息,并且計算速度快,但是它本身存在著一定的局限性。對異常值敏感:由于回歸分析平等地對待所有的數(shù)據(jù)點,因此只要存在幾個有異常值的數(shù)據(jù)點,就會給趨勢線造成很大的影響。為了避免出現(xiàn)這種情況,在做進一步分析之前,可以先使用散點圖找出異常值。造成相關預測變量權重失真:如果回歸模型包含高度相關的預測變量,那么這些變量的權重會失真,這就是所謂的多重共線性問題。為了解決這個問題,可以在分析之前先把相關預測變量排除,或者使用更高級的技術,比如套索回歸或嶺回歸。彎曲的趨勢:在本章所舉的例子中,趨勢由直線表示。但是有些趨勢可能是彎曲的。對于這種情況,可能需要對預測變量的值進行轉換,或者使用支持向量機(8章)并不說明存在因果關系:假設我們發(fā)現(xiàn)養(yǎng)狗和房價是正相關關系。我們知道養(yǎng)寵物狗不會讓房子增值,但是那些養(yǎng)得起狗的6.7小結|57盡管回歸分析有上述局限性,但是它仍然是做預測時最常用、最易用、最直觀的一種技術。仔細理解分析結果,有助于確保結論的準確性。小結回歸分析用于尋找最佳擬合線,使得盡可能多的數(shù)據(jù)點位于這條線附近(或這條線上。趨勢線由帶權重的組合預測變量得到。這些權重被稱為回歸系數(shù),表示某個預測變量相對于其他預測變量的影響強度。在下面幾種情況下,回歸分析的效果最好:預測變量之間的關系不強;無異常值;趨勢可以用直線表示。第7章k最近鄰算法和異常檢測食品檢測讓我們來聊聊葡萄酒。你是否曾想真正地搞清楚紅葡萄酒和白葡萄酒的區(qū)別?有些人想當然地認為,紅葡萄酒是用紅葡萄釀制的,而白葡萄酒是用白葡萄釀制的。但是這并非完全正確,盡管紅葡萄酒不能用白葡萄釀制,可白葡萄酒是可以用紅葡萄釀制的。紅白葡萄酒最大的區(qū)別在于葡萄的發(fā)酵方式不同。釀制紅葡萄酒時,葡萄汁和葡萄皮是混在一起發(fā)酵的,葡萄皮在這個過程中會釋放出獨特的紅色素。釀制白葡萄酒時,則要把葡萄皮去掉,只發(fā)酵葡萄汁。一方面,我們可以根據(jù)葡萄酒的顏色推斷其釀制過程有無用到葡萄皮;另一方面,葡萄皮會導致葡萄酒的化學成分發(fā)生變化,這意味著不用觀察葡萄酒的顏色,只通過分析化學成分的含量就能推斷出葡萄酒的顏色。為了檢驗這個假設,可以使用機器學習中最簡單的一種方法:k最近鄰算法。60|第7章k最近鄰算法和異常檢測物以類聚,人以群分k最近鄰算法根據(jù)周圍數(shù)據(jù)點的類型對某個數(shù)據(jù)點進行分類。也就是說,如果一個數(shù)據(jù)點周圍有41個黑點(7-1所示,那么根據(jù)少數(shù)服從多數(shù)的原則,這個數(shù)據(jù)點很可能就是紅色的。?圖7-1根據(jù)周圍5個數(shù)據(jù)點的顏色以及少數(shù)服從多數(shù)的原則,中心數(shù)據(jù)點應該被劃為紅點?kk表示周圍數(shù)據(jù)點的個數(shù)。在上面的例子中,k5k值的過程叫作參數(shù)調優(yōu),它對預測的準確度起著至關重要的作用。k=3 k=17 k=50過擬合 (b)理想擬合 (c)欠擬合圖7-2使用不同的k值進行擬合。黑色區(qū)域中的點被預測為白葡萄酒,紅色區(qū)域中的點則被預測為紅葡萄酒如果k值太小,數(shù)據(jù)點只與最近的“鄰居”匹配,并且隨機噪聲所產生的誤差也會被放大,如圖7-2a所示。如果k值太大,數(shù)據(jù)點會嘗試與更遠的“鄰居”匹配,其中隱含的模式會被忽略,如圖7-2c所示。|61只有當k值恰到好處時,數(shù)據(jù)點才會參考合適數(shù)量的“鄰居”,這使得誤差相互抵消,有利于揭示數(shù)據(jù)中隱藏的趨勢,如圖7-2b所示。k進行調優(yōu)(1.4.3節(jié)k數(shù),以避免出現(xiàn)平局的情況。除了用來為數(shù)據(jù)點分類,k最近鄰算法還可以通過合計周圍數(shù)據(jù)點的值來預測連續(xù)值。相比于平等看待周圍的所有數(shù)據(jù)點并簡單地取平均值,通過使用加權平均值,能夠進一步改善預測結果。離數(shù)據(jù)點越近更大。示例:區(qū)分紅白葡萄酒回到葡萄酒的例子。通過觀察與之有相似化學成分的葡萄酒,可以猜出某款葡萄酒的顏色。如圖7-3所示,我們利用葡萄牙青酒的各種紅白變種酒的數(shù)據(jù)把二氧化硫15994898種白葡萄酒的化學成分繪制了出來,圖中涉及兩種化學成分,即氯化物(橫軸)和二氧化硫(縱軸。二氧化硫氯化物圖7-3白葡萄酒(黑點)和紅葡萄酒(紅點)中氯化物和二氧化硫的含量62|第7章k最近鄰算法和異常檢測因為葡萄皮中的礦物質(比如氯化鈉,與食鹽成分一樣)含量較高,所以紅葡萄酒中這些成分的含量就相對較高,圖中很好地反映出了這一點。葡萄皮還含有天然抗氧化劑,用來使葡萄保持新鮮。白葡萄酒不包含這種成分,所以需要使用更多的二氧化硫來充當防腐劑。正是這些原因使得紅葡萄酒大都集中在圖中的右下部分,白葡萄酒則主要集中在左上部分。在推斷含有特定量氯化物和二氧化硫的葡萄酒的顏色時,可以參考與其有相似化學成分含量的葡萄酒的顏色。對圖中每個點都這樣做一遍,可以畫出用以區(qū)分紅葡萄酒和白葡萄酒的分界線。如圖7-2b所示,在理想擬合的情況下,推斷葡萄酒顏色的準確率超過98%。異常檢測k最近鄰算法不僅可以用來預測數(shù)據(jù)點的類別和取值,還可以用來識別異常,比如檢測欺詐行為。而且,在異常檢測過程中還可能會有新的發(fā)現(xiàn),比如發(fā)現(xiàn)之前被忽略的預測變量。數(shù)據(jù)可視化讓異常檢測變得簡單。比如在圖7-3中,我們能一眼看出哪些酒偏離了它們所屬的群組。不過,并非所有數(shù)據(jù)都可以用二維圖表示,尤其是當要檢查的預測變量超過兩個時,更是如此。這正是k最近鄰等預測模型大顯身手的時候。因為k最近鄰算法利用數(shù)據(jù)中的隱藏模式做預測,所以如果出現(xiàn)預測誤差,就說明數(shù)據(jù)點和總體趨勢不一致。事實上,任何能夠產生預測模型的算法都可以用來檢測異常。比如,在回歸分析中,如果某個數(shù)據(jù)點明顯偏離最佳擬合線,那么就會被識別為異常點。稍微分析一下葡萄酒顏色歸類錯誤時的異常數(shù)據(jù),就會發(fā)現(xiàn)那些被錯劃成白葡萄酒的紅葡萄酒往往含有較多的二氧化硫。由于這些葡萄酒的酸度較低,因此需要更多的二氧化硫來充當防腐劑。如果知道了這一7.6小結|63點,那么我們可能會把葡萄酒的酸度也考慮進去,從而進一步提高預測的準確度。異常數(shù)據(jù)點既可能因缺失預測變量所致,也可能因預測模型缺少足夠的訓練數(shù)據(jù)所致。我們擁有的數(shù)據(jù)點越少,就越難發(fā)現(xiàn)隱藏于數(shù)據(jù)中的模式,所以務必確保建模時有足夠的樣本可用。一旦找到異常數(shù)據(jù)點,就要將它們從數(shù)據(jù)集中移除,然后再訓練預測模型。這樣做可以減少數(shù)據(jù)中包含的噪聲,進而提高模型的準確度。局限性盡管k最近鄰算法簡單且實用,但是在如下情形中使用該算法可能無法取得好的效果。類別不平衡:如果待預測的類別有多個,并且在大小方面存在很大的不同,那么那些屬于最小類別的數(shù)據(jù)點可能會被來自更大類別的數(shù)據(jù)點所掩蓋,它們被錯誤分類的風險更大。為了提高準確度,可以使用加權投票法來取代少數(shù)服從多數(shù)的原則,這會確保較近數(shù)據(jù)點類別的權重比較遠的更大。3小結k最近鄰算法根據(jù)周圍數(shù)據(jù)點的類型對某個數(shù)據(jù)點進行分類。k表示用作參考的數(shù)據(jù)點的個數(shù),可以使用交叉驗證法來確定。當預測變量數(shù)目不多,并且類別大小差別不大時,k最近鄰算法第8章支持向量機醫(yī)學診斷醫(yī)學診斷是復雜的過程。醫(yī)生在做診斷時,不僅需要考慮患者的多個癥狀,而且自己的主觀看法很容易影響診斷結果。有時,當正確的診斷結果出來時,才發(fā)現(xiàn)為時已晚。一種更系統(tǒng)的診斷方法是使用一些算法通過整個醫(yī)療數(shù)據(jù)庫進行訓練,用以提高預測準確度。本章將介紹一種新的預測技術——支持向量機。借助這種技術可以示例:預測心臟病請多位患者參加研究。他們要求這些患者做運動,同時記錄他們的多項生理指標,比如運動過程中的最大心率等。隨后,他們對患者做影像掃8-1所示,通過開發(fā)支持向量機預測模型(考察對象包括心率數(shù)據(jù)和患者年齡,我們能夠預測患者是否得了66|第8章支持向量機運動時的最大心率心臟病,預測準確度超過75%。運動時的最大心率年齡圖8-1使用支持向量機預測患者是否有心臟病。圖中深綠色區(qū)域反映的是健康成年人的情況,而灰色區(qū)域反映的是心臟病患者的情況。綠點和黑點分別代表健康成年人和心臟病患者一般來說,相比于同齡的健康人(綠點,心臟病患者(黑點)在5560勾畫最佳分界線不像聽上去那么簡單,因為能用于分組的分界線可能有多條(8-2所示。勾畫最佳分界線|67圖8-2有多條線可以把兩組分開為了找出最佳分界線,首先需要從一組中找出距離另一組最近的外圍數(shù)據(jù)點,然后在兩組的外圍數(shù)據(jù)點之間畫出最佳分界線(8-3所示。由于這些外圍數(shù)據(jù)點在尋找最佳分界線的過程中起了支持作用,因此它們叫作支持向量。圖8-3最佳分界線位于兩組的外圍數(shù)據(jù)點之間支持向量機的一個優(yōu)點是計算速度很快。它僅依靠外圍數(shù)據(jù)點就能找到?jīng)Q策邊界。與回歸分析(需要考慮每個數(shù)據(jù)點才能得到趨勢線,詳見第6章)等技術相比,支持向量機做推導所花的時間更少。68|第8章支持向量機然而,這種對數(shù)據(jù)點子集的依賴也有缺點,這是因為決策邊界對支持向量的位置比較敏感,選取不同的數(shù)據(jù)點作為訓練數(shù)據(jù),相應支持向量的位置也不同。而且,實際的數(shù)據(jù)點很少像圖8-2和圖8-3中的那樣容易劃分。事實上,各組數(shù)據(jù)點可能重疊,如圖8-1所示。度。懲罰參數(shù)越大,寬容度就越大,緩沖帶也就越寬。為了讓模型對當前數(shù)據(jù)和新數(shù)據(jù)有較高的預測準確度,可以使用交叉驗證法(節(jié))求得最佳懲罰參數(shù)。支持向量機的另一個強項是找到?jīng)Q策邊界的凸弧。雖然許多其他技術也可以做到這一點,但是支持向量機備受青睞,因為它在發(fā)現(xiàn)錯綜復雜的凸弧時有著更出眾的計算效率。支持向量機的秘訣是核技巧。先把數(shù)據(jù)映射到高維空間,然后在高維空間中將數(shù)據(jù)點用直線分開(如8-4所示。這些直線容易計算,并且當映射回低維空間時也很容易轉換成曲線。圖8-4當把二維平面上的點映射到三維球面上后,原來包圍藍點的圓圈就可以用一條直線表示8.5小結|69支持向量機具備在高維空間操縱數(shù)據(jù)的能力,這使得它在分析有多個變量的數(shù)據(jù)集時大受歡迎。支持向量機的常見應用場景包括遺傳信息破譯以及文本情感分析。局限性盡管支持向量機是一個應用很廣的快速預測工具,但它在如下情況下表現(xiàn)欠佳。小數(shù)據(jù)集:由于支持向量機依靠支持向量確定決策邊界,因此樣本量少意味著用來對分界線進行準確定位的數(shù)據(jù)也少。多組數(shù)據(jù):支持向量機每次只能對兩組進行分類。如果存在兩個以上的組,則需要對每組都應用支持向量機,以便將其從其余組中分出來。這個技術叫作多類支持向量機。兩組之間存在大量重疊:支持向量機根據(jù)數(shù)據(jù)點落在決策邊界哪一邊對其進行分類。當兩組的數(shù)據(jù)點存在大量重疊時,靠近邊界的數(shù)據(jù)點可能更容易發(fā)生分類錯誤。而且,支持向量機沒有給出每個數(shù)據(jù)點遭遇錯誤分類的概率。但是,可以通過數(shù)據(jù)點到?jīng)Q策邊界的距離來估計其被正確分類的可能性。小結支持向量機用來把數(shù)據(jù)點分為兩組,其方法是在兩組的外圍數(shù)據(jù)點(即支持向量)的中間畫一條分界線。支持向量機對異常值有較好的容忍度。它通過一個緩沖帶允許少量數(shù)據(jù)點位于錯誤的一邊。此外,它還通過核技巧高效地求得帶凸弧的決策邊界。當需要把大樣本中的數(shù)據(jù)點分為兩組時,支持向量機能夠發(fā)揮最佳作用。第9章決 策 樹預測災難幸存者在災難發(fā)生后,某些人(比如婦女和孩子)可能會被優(yōu)先照顧,因此他們活下來的可能性更大。在這種情況下,可以使用決策樹來判斷某些人是否會活下來。本例的決策樹通過一系列二元選擇題來預測某個人生還的可能9-1所示。每個二元選擇題只有兩個備選答案(比如“是”或“否。從最頂層的選擇題(又叫根節(jié)點)開始,然后沿著樹枝不斷移動,直到到達葉節(jié)點,并得出此人的生還概率。根節(jié)點生還死亡根節(jié)點是男性嗎?是 否月收入高于5000美元嗎?是否生還概率為是否生還概率為100%圖9-1決策樹示例
生還概率為75%72|第9章決策樹示例:逃離泰坦尼克號為了說明如何通過決策樹預測乘客生還概率,我們選用了由英國貿易委員會整理的泰坦尼克號乘客數(shù)據(jù),用以判斷什么樣的乘客生還的可能性更大。圖9-2展示了使用決策樹預測乘客生還概率的情況。該乘客是……該乘客是……男性?是成年人?
否在三等艙?是否是否在三等艙?是否是 否20%27%100% 46%93%圖9-2使用決策樹判斷一個人能否逃離泰坦尼克號從決策樹可知,對于男孩或者女性來說,只要不在三等艙,那么活下來的可能性就很大。決策樹有許多用處,比如預測疾病的存活率,估計員工的辭職概率,或者檢測欺詐交易等。此外,決策樹還可以用來處理分類問題(比如男性和女性)或連續(xù)值問題(比如工資。請注意,連續(xù)值問題有時可以轉化為分類問題,比如比較高于和低于平均值的值。果有兩個以上的答案(,可以沿著分支繼續(xù)向下添加更多分支(9-3所示。生成決策樹|73根節(jié)點生還死亡根節(jié)點是男性嗎?是 否月收入高于5000美元嗎?是不一定月收入高于是不一定月收入高于5000美元嗎?有時 否生還概率為100%生還概率為100% 生還概率為50%圖9-3在決策樹中測試多個類別決策樹之所以受歡迎,是因為它容易解釋。那么,如何生成決策樹呢?生成決策樹若要生成決策樹,首先根據(jù)相似性把所有數(shù)據(jù)點分為兩組,然后針對每組重復這個二分過程。每一層葉節(jié)點都比上一層包含更少的數(shù)據(jù)點,但同質性更高。決策樹的理論基礎是,相同路徑上的數(shù)據(jù)點彼此是相似的。這個反復拆分數(shù)據(jù)以得到同質組的過程被稱為遞歸拆分,它只包含如下兩個步驟。步驟1:確定一個二元選擇題,它能夠把數(shù)據(jù)點拆分為兩組,并最大限度地提高每組數(shù)據(jù)點的同質性。74|第9章決策樹2:19-4展示了一個決策樹生成示例。根節(jié)點1根節(jié)點YX大于0.5嗎?是 否Y大于0.5嗎? 0 X 1是 否是否X大于0.25是否圖9-4通過決策樹拆分數(shù)據(jù)點并用散點圖表示出來終止條件可能有多個,可以使用交叉驗證法(詳見1.4.3節(jié))進行選取。本例有以下終止條件:每個葉節(jié)點中的數(shù)據(jù)點全屬于同一類或有相同的值;5個;進一步分支會超出閾值并且不能提高同質性。由于遞歸拆分只用最佳二元選擇題來生成決策樹,因此不顯著的變量并不會影響結果。而且,二元選擇題往往圍繞著最重要的值劃分數(shù)據(jù)點,所以決策樹對異常值有較強的耐擾性。局限性雖然決策樹容易解釋,但存在如下缺點。9.5小結|75不穩(wěn)定:決策樹是通過把數(shù)據(jù)點分組生成的,數(shù)據(jù)中的細微變化可能影響拆分結果,并導致生成的決策樹截然不同。此外,每次拆分數(shù)據(jù)點時都力求找到最佳拆分
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版語文五年級下冊第8課《紅樓春趣》精美課件
- 江蘇南京師范大附屬中學2024-2025學年中考模擬試卷(4)物理試題含解析
- 蘭州大學《自動化專業(yè)導論與研討》2023-2024學年第一學期期末試卷
- 山西省運城市鹽湖區(qū)達標名校2025年學業(yè)水平考試英語試題模擬仿真卷(4)含答案
- 外交學院《商業(yè)廣告學》2023-2024學年第二學期期末試卷
- 山東省臨朐市重點達標名校2025屆普通高中初三線上統(tǒng)一測試化學試題理試題含解析
- 徐州醫(yī)科大學《生物技術與可持續(xù)發(fā)展》2023-2024學年第二學期期末試卷
- 吉林省長春市東北師范大附屬中學2025年初三下學期開學回頭考數(shù)學試題含解析
- 樂山職業(yè)技術學院《柏拉圖》2023-2024學年第一學期期末試卷
- 同濟大學《Python數(shù)據(jù)分析》2023-2024學年第一學期期末試卷
- 2024版專業(yè)工程資質居間轉讓合同范文版B版
- 新能源購售電合同模板
- 上海市2024年中考英語試題及答案
- 2024年一級建造師《建設工程項目管理》真題及答案
- 頸椎病課件完整版本
- 部編版語文小學二年級下冊第一單元集體備課(教材解讀)
- 孝歌歌詞大全100首
- 維修服務工作流程
- 【MOOC】工廠化育苗原理與技術-華中農業(yè)大學 中國大學慕課MOOC答案
- 【MOOC】創(chuàng)新思維與創(chuàng)業(yè)實驗-東南大學 中國大學慕課MOOC答案
- 院感相關知識應知應會
評論
0/150
提交評論