0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用兩個(gè)日常的例子為我們講解了決策樹(shù)的原理

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-22 10:28 ? 次閱讀

編者按:作為機(jī)器學(xué)習(xí)兩大重要算法——隨機(jī)森林和梯度樹(shù)提升的基礎(chǔ),決策樹(shù)是每位機(jī)器學(xué)習(xí)從業(yè)者都應(yīng)該理解的概念。本文作者Brandon Rohrer用兩個(gè)日常的例子為我們講解了決策樹(shù)的原理,過(guò)程清晰易讀,適合入門學(xué)習(xí)。文末附有原文鏈接,感興趣的讀者可移步原文觀看視頻版本。以下是論智的編譯。

決策樹(shù)是我最喜歡的模型之一,它們非常簡(jiǎn)單但是很強(qiáng)大。事實(shí)上,Kaggle中大多數(shù)表現(xiàn)優(yōu)秀的項(xiàng)目都是XGBoost和一些非常絕妙的特征工程的結(jié)合,XGBoost是決策樹(shù)的一種變體。決策樹(shù)背后的概念非常簡(jiǎn)潔明了,下面就用具體案例解釋一下。

早上幾點(diǎn)出門才能不遲到?

假設(shè)我們現(xiàn)在要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)集,記錄每天上班離開(kāi)家的時(shí)間以及能否準(zhǔn)時(shí)到達(dá)公司。下圖就記錄了一些情況,可以看到大多數(shù)情況下,只要在8:15之前出門就能準(zhǔn)時(shí)上班,在這之后就會(huì)經(jīng)常遲到。

你可以在決策樹(shù)中總結(jié)出這一情況。首先第一個(gè)分叉點(diǎn)可以問(wèn):“是否在8:15之前離開(kāi)?”這里有兩種回答:“是”或“否”。根據(jù)習(xí)慣我們將“是”放在左邊,然后將數(shù)據(jù)分為兩組,雖然有一些例外情況,但總體看來(lái)8:15是一個(gè)分水嶺。如果在這之前出門,大概率不會(huì)遲到,反之亦然。

這就是最簡(jiǎn)單的決策樹(shù)模型,只有一對(duì)選擇分支。

接下來(lái)我們可以對(duì)這個(gè)模型進(jìn)行微調(diào),在兩個(gè)分支上分別再進(jìn)行分類,即加入8:00和8:30兩個(gè)時(shí)間點(diǎn),這樣可以更全面地分析到達(dá)時(shí)間。下表顯示,8:00之前出門絕對(duì)能準(zhǔn)時(shí)到達(dá),而8:00到8:15之間出門可能會(huì)準(zhǔn)時(shí)到。而在8:15之后8:30之前幾乎每次都會(huì)遲到,但也有可能不遲到。而8:30之后一定會(huì)遲到。

這樣一來(lái),決策樹(shù)就變成了兩層,你還可以根據(jù)自己的需要繼續(xù)分層下去。大多數(shù)情況下,每個(gè)決策點(diǎn)只有兩個(gè)分支。

上面的案例只有一個(gè)預(yù)測(cè)變量,以及一個(gè)類別目標(biāo)變量。預(yù)測(cè)變量是“我們出門的時(shí)間”,目標(biāo)變量是“是否準(zhǔn)時(shí)上班”。由于只有兩種明確的可能(是或不是),所以是分類的。有分類目標(biāo)的決策樹(shù)也被稱為分類樹(shù)。

我們可以將這一例子繼續(xù)擴(kuò)展,把它變成兩個(gè)決策變量。將出門時(shí)間和工作日加入進(jìn)去,將周一定為1,以此類推,周六為6,周日為7。數(shù)據(jù)顯示,在周六和周日,綠色的點(diǎn)要更靠近左邊一些。這說(shuō)明在工作日,8:10出門也許足夠了,但是周末可能會(huì)遲到。

為了在決策樹(shù)中表示這一點(diǎn),我們可以像之前一樣,再在8:15時(shí)加上分界線,在這之后出發(fā)可能會(huì)遲到,但是在這之前卻不好說(shuō),此前我們判斷的是不會(huì)遲到,但現(xiàn)在看來(lái)這個(gè)推斷不完全準(zhǔn)確。

為了讓我們更好地估計(jì)周末情況,我們可以進(jìn)一步將8:15之前分為工作日和周末兩種情況。工作日如果在8:15之前出發(fā),那么一定不會(huì)遲到。但是周末如果在8:15之前出發(fā),大多數(shù)情況會(huì)準(zhǔn)時(shí)到達(dá),但是也有例外。于是決策樹(shù)可以如下圖表示:

繼續(xù)分類,將周末的8:15分繼續(xù)分為8:00前和8:00后。如果8:00前出發(fā),幾乎每次都能準(zhǔn)點(diǎn)到達(dá),8:00至8:15之間出發(fā),大部分都會(huì)遲到?,F(xiàn)在我們有了一個(gè)二維決策樹(shù),將數(shù)據(jù)分成了四個(gè)不同區(qū)域。其中兩個(gè)表示準(zhǔn)點(diǎn)到達(dá),另外兩個(gè)表示遲到。

這是一個(gè)三層決策樹(shù),注意,并不是每個(gè)分支都需要繼續(xù)細(xì)分下去(例如最右邊的一支)。

現(xiàn)在我們可以分析一個(gè)具有連續(xù)目標(biāo)變量的案例了。當(dāng)模型對(duì)連續(xù)變量做出預(yù)測(cè)時(shí),這也被稱為回歸樹(shù)。我們已經(jīng)解釋了一維或二維的分類樹(shù)了,接下來(lái)我們分析回歸樹(shù)。

你幾點(diǎn)起床?

現(xiàn)在我們要加入某人的年齡以及他起床的時(shí)間。我們回歸樹(shù)模型的根節(jié)點(diǎn)就是對(duì)整個(gè)數(shù)據(jù)集的估計(jì)。在這種情況下,如果你不知道某人的年齡但還要估計(jì)他的起床時(shí)間,那么可能的時(shí)間是6:25,我們假設(shè)這是決策樹(shù)的根節(jié)點(diǎn)。

另一個(gè)關(guān)于年齡的分支我們定在25歲,經(jīng)過(guò)數(shù)據(jù)收集,平均來(lái)說(shuō),25歲以下的人會(huì)在7:05起床,25歲以上的人會(huì)在6點(diǎn)鐘起床。

但是年輕人群體中也有變數(shù),所以我們可以在進(jìn)行分類。我們預(yù)計(jì),12歲以下的人會(huì)在7:45起床,而12至25歲的人會(huì)在6:40起床。

25歲以上的人也可以進(jìn)行細(xì)分。例如25至40歲的人平均在6:10起床,而40至70歲的人平均5:50起床。

但是,年輕人群體中仍然有很多種情況,繼續(xù)細(xì)分,以8歲為分界點(diǎn),可以讓預(yù)測(cè)的值更準(zhǔn)確。我們也可以在40歲至70歲之間以58歲為分界點(diǎn)。注意,我們現(xiàn)在的某些“樹(shù)葉”上只有一或兩個(gè)數(shù)據(jù)點(diǎn),這種情況很可能導(dǎo)致過(guò)度擬合,稍后我們會(huì)對(duì)其進(jìn)行處理。

根據(jù)年齡,決策樹(shù)能讓我們做出多種判斷。如果我要判斷一名36歲的實(shí)驗(yàn)對(duì)象的起床時(shí)間,那么我可以從樹(shù)的頂端開(kāi)始。

他是否小于25歲?否,向右。低于40歲?是的,向左。最終估計(jì)的起床時(shí)間為6:10。

決策樹(shù)的結(jié)構(gòu)能讓你將任何年齡的人分到各自的類別中,并且預(yù)測(cè)出他們的起床時(shí)間。

我們還可以將回歸樹(shù)模型擴(kuò)展到有兩個(gè)預(yù)測(cè)變量的形式。如果我們不僅考慮某人的年齡,還要考慮月份,那么我們會(huì)找到更加豐富的模式。目前北半球是夏季,晝長(zhǎng)夜短,太陽(yáng)日出時(shí)間較冬季更早。假設(shè)學(xué)生們沒(méi)有課業(yè)壓力(當(dāng)然只是假設(shè)),他們的起床時(shí)間受太陽(yáng)升起的影響,另一方面,成年人的起床時(shí)間就更加規(guī)律,只會(huì)隨著季節(jié)變化進(jìn)行輕微波動(dòng)。另外,老年人在這個(gè)情況下會(huì)起的稍早。

我們創(chuàng)建的這個(gè)決策樹(shù)和上一個(gè)很像。從根節(jié)點(diǎn)6:30開(kāi)始(這里是用matplotlib進(jìn)行的可視化)

之后我們尋找一個(gè)適合加入邊界的地方,以35歲為分界線,35歲以下的人在7:06起床,35歲以下的人在6:12起床。

重復(fù)之前的過(guò)程,在年輕群體中細(xì)分時(shí)間,判斷是否是9月中旬、是否是3月中旬。若在9月中旬之后,那么就判定為冬季,35歲以下的人起床時(shí)間估計(jì)為7:30,而夏季預(yù)計(jì)為6:56。

接著,我們可以在大于35歲的群體中繼續(xù)以48歲為界線進(jìn)行精確的分析。

我們同樣還可以回過(guò)頭,在35歲以下群體中分析18歲人群冬季的起床時(shí)間,如下圖。18歲以下的人冬季在7:54起床,而18歲以上的人在6:48起床。

從這里,我們看到隨著分支的增加,決策樹(shù)模型的形狀越來(lái)越接近原始數(shù)據(jù)的形狀。同樣,我們也會(huì)注意到?jīng)Q策樹(shù)所區(qū)分的各個(gè)區(qū)域,顏色也越來(lái)越相近。

這一過(guò)程如果繼續(xù)下去,模型就會(huì)不斷接近數(shù)據(jù)原始形狀,每個(gè)決策區(qū)域會(huì)變得越來(lái)越小,對(duì)數(shù)據(jù)的估計(jì)也會(huì)越來(lái)越準(zhǔn)確。

如何處理過(guò)擬合

然而,決策樹(shù)需要注意的一個(gè)重點(diǎn)是過(guò)度擬合?;氐轿覀冎挥袉我蛔兞康幕貧w樹(shù)案例,即年齡對(duì)起床時(shí)間的影響中,假設(shè)我們繼續(xù)細(xì)分年齡,直到每個(gè)類別中只有一兩個(gè)數(shù)據(jù)。

到了這時(shí),決策樹(shù)能非常好地解釋并擬合數(shù)據(jù),它不僅能掌握基本趨勢(shì),還能捕捉噪聲。如果用該模型對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè),那么訓(xùn)練數(shù)據(jù)中的噪聲會(huì)讓預(yù)測(cè)精確度降低。理想情況下,我們想讓決策樹(shù)捕捉趨勢(shì)但不要夾雜噪聲。要達(dá)到這一效果,比較有保障的方法就是在每片“樹(shù)葉”上有多個(gè)數(shù)據(jù),這樣一來(lái),噪聲就會(huì)被平均掉。

另一種需要警惕的現(xiàn)象是變量過(guò)多的情況。我們一開(kāi)始的回歸樹(shù)是一維的,后來(lái)加上了“月份”數(shù)據(jù),成為了二維回歸樹(shù)。但是決策樹(shù)不在乎有多少個(gè)維度,我們甚至可以加上地區(qū)緯度、某人鍛煉量、身體的大數(shù)據(jù)或任何可能想到的變量。

變量一多,接下來(lái)就要考慮細(xì)分哪些變量了。如果變量很多,就需要大量計(jì)算。同時(shí)我們加入的變量越多,所需要的數(shù)據(jù)就越多,所以處理起來(lái)要耗費(fèi)大量精力。

當(dāng)你相對(duì)數(shù)據(jù)進(jìn)行必要解讀時(shí),決策樹(shù)真的非常有用,它們很普遍,可以處理預(yù)測(cè)變量和目標(biāo)變量之間非線性的關(guān)系。二次方程、指數(shù)關(guān)系、周期循環(huán)等等關(guān)系都能在決策樹(shù)中表示,只要你有足夠的數(shù)據(jù)支持。決策樹(shù)同樣可以發(fā)現(xiàn)不平滑的趨勢(shì),例如突然下降或上升,或者其他人工神經(jīng)網(wǎng)絡(luò)等模型的隱藏趨勢(shì)。作為數(shù)據(jù)分析的工具,決策樹(shù)的優(yōu)勢(shì)還是很明顯的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:在茫茫決策樹(shù)入門帖里,我強(qiáng)推這篇(附可視化圖)

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于決策樹(shù),這些知識(shí)點(diǎn)不可錯(cuò)過(guò)

    可以實(shí)現(xiàn)對(duì)未知的數(shù)據(jù)進(jìn)行高效分類。從開(kāi)頭狼人殺的例子中也可以看出,決策樹(shù)模型具有較好的可讀性和描述性,能夠幫助我們更高效率地去分析問(wèn)題。舉個(gè)例子,普通人去銀行貸款的時(shí)候,銀行會(huì)根據(jù)相應(yīng)
    發(fā)表于 05-23 09:38

    分類與回歸方法之決策樹(shù)

    統(tǒng)計(jì)學(xué)習(xí)方法決策樹(shù)
    發(fā)表于 11-05 13:40

    機(jī)器學(xué)習(xí)的決策樹(shù)介紹

    機(jī)器學(xué)習(xí)——決策樹(shù)算法分析
    發(fā)表于 04-02 11:48

    ML之決策樹(shù)與隨機(jī)森林

    ML--決策樹(shù)與隨機(jī)森林
    發(fā)表于 07-08 12:31

    介紹支持向量機(jī)與決策樹(shù)集成等模型的應(yīng)用

    本文主要介紹支持向量機(jī)、k近鄰、樸素貝葉斯分類 、決策樹(shù)、決策樹(shù)集成等模型的應(yīng)用。講解了支持向量機(jī)SVM線性與非線性模型的適用環(huán)境,并對(duì)核函數(shù)技巧作出深入的分析,對(duì)線性Linear核函數(shù)、多項(xiàng)式
    發(fā)表于 09-01 06:57

    決策樹(shù)的生成資料

    在本文中,我們將討論一種監(jiān)督式學(xué)習(xí)算法。最新一代意法半導(dǎo)體 MEMS 傳感器內(nèi)置一個(gè)基于決策樹(shù)分類器的機(jī)器學(xué)習(xí)核心(MLC)。這些產(chǎn)品很容易通過(guò)后綴中的 X 來(lái)識(shí)別(例如,LSM6DSOX)。這種
    發(fā)表于 09-08 06:50

    個(gè)基于粗集的決策樹(shù)規(guī)則提取算法

    個(gè)基于粗集的決策樹(shù)規(guī)則提取算法:摘要:決策樹(shù)是數(shù)據(jù)挖掘任務(wù)中分類的常用方法。在構(gòu)造決策樹(shù)的過(guò)程中,分離屬性的選擇標(biāo)準(zhǔn)直接影響到分類的效果,傳統(tǒng)的
    發(fā)表于 10-10 15:13 ?12次下載

    決策樹(shù)的介紹

    關(guān)于決策樹(shù)的介紹,是一些很基礎(chǔ)的介紹,不過(guò)是英文介紹。
    發(fā)表于 09-18 14:55 ?0次下載

    決策樹(shù)的原理和決策樹(shù)構(gòu)建的準(zhǔn)備工作,機(jī)器學(xué)習(xí)決策樹(shù)的原理

    希望通過(guò)所給的訓(xùn)練數(shù)據(jù)學(xué)習(xí)一個(gè)貸款申請(qǐng)的決策樹(shù),用于對(duì)未來(lái)的貸款申請(qǐng)進(jìn)行分類,即當(dāng)新的客戶提出貸款申請(qǐng)時(shí),根據(jù)申請(qǐng)人的特征利用決策樹(shù)決定是否批準(zhǔn)貸款申請(qǐng)。
    的頭像 發(fā)表于 10-08 14:26 ?6070次閱讀

    決策樹(shù)和隨機(jī)森林模型

    我們知道決策樹(shù)容易過(guò)擬合。換句話說(shuō),單個(gè)決策樹(shù)可以很好地找到特定問(wèn)題的解決方案,但如果應(yīng)用于以前從未見(jiàn)過(guò)的問(wèn)題則非常糟糕。俗話說(shuō)三個(gè)臭皮匠賽過(guò)諸葛亮,隨機(jī)森林就利用了多個(gè)
    的頭像 發(fā)表于 04-19 14:38 ?8013次閱讀
    <b class='flag-5'>決策樹(shù)</b>和隨機(jī)森林模型

    決策樹(shù)的構(gòu)成要素及算法

    決策樹(shù)是一種解決分類問(wèn)題的算法,決策樹(shù)算法采用樹(shù)形結(jié)構(gòu),使用層層推理來(lái)實(shí)現(xiàn)最終的分類。
    發(fā)表于 08-27 09:52 ?4397次閱讀

    決策樹(shù)的基本概念/學(xué)習(xí)步驟/算法/優(yōu)缺點(diǎn)

    本文將介紹決策樹(shù)的基本概念、決策樹(shù)學(xué)習(xí)的3個(gè)步驟、3種典型的決策樹(shù)算法、決策樹(shù)的10個(gè)優(yōu)缺點(diǎn)。
    發(fā)表于 01-27 10:03 ?2691次閱讀
    <b class='flag-5'>決策樹(shù)</b>的基本概念/學(xué)習(xí)步驟/算法/優(yōu)缺點(diǎn)

    什么是決策樹(shù)模型,決策樹(shù)模型的繪制方法

    決策樹(shù)是一種解決分類問(wèn)題的算法,本文將介紹什么是決策樹(shù)模型,常見(jiàn)的用途,以及如何使用“億圖圖示”軟件繪制決策樹(shù)模型。
    發(fā)表于 02-18 10:12 ?1.3w次閱讀
    什么是<b class='flag-5'>決策樹(shù)</b>模型,<b class='flag-5'>決策樹(shù)</b>模型的繪制方法

    決策樹(shù)的結(jié)構(gòu)/優(yōu)缺點(diǎn)/生成

    決策樹(shù)(DecisionTree)是機(jī)器學(xué)習(xí)中一種常見(jiàn)的算法,它的思想非常樸素,就像我們平時(shí)利用選擇做決策的過(guò)程。決策樹(shù)是一種基本的分類與回歸方法,當(dāng)被用于分類時(shí)叫做分類
    發(fā)表于 03-04 10:11 ?8360次閱讀

    大數(shù)據(jù)—決策樹(shù)

    認(rèn)為是if-then的集合,也可以認(rèn)為是定義在特征空間與類空間上的條件概率分布。 決策樹(shù)通常有三個(gè)步驟:特征選擇、決策樹(shù)的生成、決策樹(shù)的修剪。
    的頭像 發(fā)表于 10-20 10:01 ?1252次閱讀