九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
一文帶你讀懂機器學習和數(shù)據(jù)科學的決策樹

本文為 AI 研習社編譯的技術(shù)博客,原標題 :

A Guide to Decision Trees for Machine Learning and Data Science

作者 | George Seif

翻譯 | 姚秀清

校對 | 醬番梨 整理 | 菠蘿妹

原文鏈接:

https://towardsdatascience.com/a-guide-to-decision-trees-for-machine-learning-and-data-science-fe2607241956

決策樹是一類非常強大的機器學習模型,在高度可解釋的同時又在許多任務(wù)中有非常良好的表現(xiàn)。 決策樹在ML模型的特殊之處在于它清晰的信息表示結(jié)構(gòu)。 決策樹通過訓練學到的“知識”直接形成層次結(jié)構(gòu)。 知識結(jié)構(gòu)以這樣的方式保存和顯示,即使非專家也可以容易地理解。

生活中的決策樹

你以前可能用過決策樹來決定你的生活。 例如,決定本周末你應(yīng)該做什么活動。 這可能取決于你是否愿意和朋友一起出去或獨自度過周末; 在這兩種情況下,你的決定還取決于天氣。 如果天氣晴朗,你可以和朋友一起踢足球。 如果結(jié)束下雨了,你會去看電影。 如果你的朋友根本不露面,那么無論天氣如何,你會選擇玩電子游戲!

這是決策樹應(yīng)用在現(xiàn)實生活中的例子。 我們已經(jīng)構(gòu)建了一顆樹來模擬一組順序的,層次化的決策,最終導致一些結(jié)果。 請注意,為了保持樹的小巧,我們還選擇了相當“高級”的決策。 例如,如果我們?yōu)樘鞖庠O(shè)置了許多可能的選項,例如25度晴天,25度下雨,26度晴天,26度下雨,27度晴天...... 等等,我們的樹會很大! 確切的溫度確實有點相關(guān),我們只想知道是否可以外出。

機器學習中決策樹的概念是相同的。 我們想要構(gòu)建一個具有一組層次的決策樹,并給出最終結(jié)果,比如說分類或回歸預(yù)測。 將選擇決策使得樹盡可能小,同時旨在實現(xiàn)高的分類和回歸準確性。

機器學習中的決策樹

通過兩個步驟來創(chuàng)建決策樹模型:歸納和剪枝。 歸納是我們實際構(gòu)建樹的方法,即根據(jù)我們的數(shù)據(jù)設(shè)置所有分層決策邊界。 由于訓練決策樹的性質(zhì),它們可能容易出現(xiàn)嚴重的過擬合。 修剪是從決策樹中刪除不必要的結(jié)構(gòu),有效地降低了對抗過擬合的復(fù)雜性,并使其更容易解釋。

引言

從高層次來看,創(chuàng)建決策樹需要經(jīng)過4個主要步驟:

  1. 從訓練數(shù)據(jù)集開始,該數(shù)據(jù)集應(yīng)具有一些特征變量,分類或回歸輸出。

  2. 確定數(shù)據(jù)集中“最佳特征”以分割數(shù)據(jù); 更多關(guān)于我們?nèi)绾味x“最佳功能”的方法

  3. 將數(shù)據(jù)拆分為包含最佳特征的可能值子集。 這種分割基本上定義了樹上的節(jié)點,即每個節(jié)點是基于我們數(shù)據(jù)中某個特征的分割點。

  4. 通過使用從步驟3創(chuàng)建的數(shù)據(jù)子集遞歸地生成新的樹節(jié)點。我們保持分割直到達到一個點,在該點我們通過一些方法,優(yōu)化了最大精度,同時最小化了分裂/節(jié)點的數(shù)量。

第1步很簡單,只需要收集你的數(shù)據(jù)集!

對于步驟2,通常使用貪婪算法來選擇要使用的特征和特定的分割方法,來最小化成本函數(shù)。 如果我們思考它一秒鐘,那么在構(gòu)建決策樹時的拆分相當于劃分特征空間。 我們將迭代地嘗試不同的分割點,然后在最后選擇成本最低的分割點。 當然,我們可以做一些聰明的事情,比如只在我們的數(shù)據(jù)集范圍內(nèi)進行拆分。 這將使我們免于浪費計算來測試那些質(zhì)量比較差的分裂點。

對于回歸樹,我們可以使用簡單的平方差作為我們的成本函數(shù):

Y是我們的基本事實,Y-hat是我們預(yù)測的值; 我們對數(shù)據(jù)集中的所有樣本求和以獲得總誤差。 對于分類,我們使用基尼指數(shù):

其中pk是特定預(yù)測節(jié)點中分類k的訓練實例的比例。 理想情況下,節(jié)點的錯誤值應(yīng)為零,這意味著每個拆分在100%的時間內(nèi)輸出單個分類。 這正是我們想要的,因為我們知道,一旦我們到達那個特定的決策節(jié)點,無論我們是在決策邊界的一邊還是另一邊,我們的輸出究竟是什么。

在我們的數(shù)據(jù)集中具有單個分類的概念被稱為信息增益。 看看下面的例子。

如果我們選擇一個分區(qū),其中每個輸出根據(jù)輸入數(shù)據(jù)混合了類別,那么我們實際上根本沒有獲得任何信息; 我們不知道特定節(jié)點即特征是否對我們分類數(shù)據(jù)有任何影響! 另一方面,如果我們的分割對每個輸出類別的百分比都很高,那么我們已經(jīng)獲得了在特定特征變量上以特殊方式分割的信息來給我們一個特定的輸出!

現(xiàn)在我們可以繼續(xù)分割, 分割和分割 ,直到我們的樹有數(shù)千個分支......但這不是一個好主意! 我們的決策樹將是巨大的,緩慢的,并且會過度擬合我們的訓練數(shù)據(jù)集。 因此,我們將設(shè)置一些預(yù)定義的停止標準來停止樹的構(gòu)造。

最常見的停止方法是對分配給每個葉節(jié)點的訓練示例的數(shù)量使用最小計數(shù)。 如果計數(shù)小于某個最小值,則不接受拆分,并將該節(jié)點作為最終葉節(jié)點。 如果我們所有的葉子節(jié)點都成為最終節(jié)點,則停止訓練。 較小的最小計數(shù)將為你提供更精細的分割和更多信息,但也容易過擬合你的訓練數(shù)據(jù)。 太小的分鐘計數(shù),你可能會停止提前。 因此,最小值通?;跀?shù)據(jù)集設(shè)置,具體取決于每個類中預(yù)計有多少個示例。

剪枝

由于訓練決策樹的性質(zhì),它們可能容易出現(xiàn)嚴重的過擬合。 為每個節(jié)點設(shè)置最小實例數(shù)的正確值可能具有挑戰(zhàn)性。 大多數(shù)情況下,我們可能只是使最小值非常小,這將導致存在許多分裂和非常大的復(fù)雜樹。 關(guān)鍵是這些分裂中的大多數(shù)將最終變得多余,并且不會提高模型的準確性。

剪枝是一種去除這種分裂冗余的技術(shù),即修剪樹中不必要的分裂。 從高級別開始, 剪枝將樹的一部分從嚴格決策邊界壓縮為更平滑和更通用的樹,從而有效地降低樹的復(fù)雜性。 決策樹的復(fù)雜性定義為樹中的分裂數(shù)。

一種簡單而高效的修剪方法是遍歷樹中的每個節(jié)點,并評估將其移除到成本函數(shù)上的效果。 如果它變化不大,那就修剪掉!

Scikit Learn實例

很容易在Scikit Learn中使用內(nèi)置的分類和回歸決策樹的類! 首先加載數(shù)據(jù)集并初始化我們的決策樹以進行分類。

Scikit Learn還允許我們使用graphviz庫可視化我們的樹。 它提供了一些選項,有助于可視化決策節(jié)點和分割模型來簡化學習,這對理解它的工作方式非常有用! 下面我們將根據(jù)功能名稱為節(jié)點著色,并顯示每個節(jié)點的類和功能信息。

你可以在Scikit Learn中為決策樹模型設(shè)置幾個參數(shù)。 以下是一些有趣的嘗試以獲得更好的結(jié)果:

  • max_depth:我們將停止拆分節(jié)點的樹的最大深度。 這類似于控制深度神經(jīng)網(wǎng)絡(luò)中的最大層數(shù)。 較低的值會使你的模型更快但不準確; 更高的值可以給你準確性,但風險是過擬合,并且可能會很慢。

  • min_samples_split:拆分節(jié)點所需的最小樣本數(shù)。 我們討論了決策樹的這一方面,以及如何將其設(shè)置為更高的值將有助于減輕過擬合。

  • max_features:查找最佳分割點時要考慮的特征數(shù)。 更高則意味著可能更好的結(jié)果,不過訓練則需要更長的時間。

  • min_impurity_split:樹木擴張早期停止的閾值。 如果節(jié)點的不純度高于閾值,則節(jié)點將分裂。 這可用于權(quán)衡對抗過擬合(高值,小樹)與高精度(低值,大樹)。

  • presort:是否預(yù)先分配數(shù)據(jù)以加快擬合數(shù)據(jù)中最佳分割的發(fā)現(xiàn)。 如果我們事先對每個特征的數(shù)據(jù)進行排序,我們的訓練算法將更容易找到分離的合適值。

實際應(yīng)用決策樹的技巧

以下是一些決策樹的優(yōu)缺點,它們可以幫助你確定它是否適合你的問題,以及一些如何有效應(yīng)用它們的提示:

優(yōu)點:

  • 易于理解和解釋。 在每個節(jié)點,我們都能夠確切地看到我們的模型做出了什么決定。 在實踐中,我們將能夠完全理解我們的準確度和誤差來自何處,模型可以很好地處理哪種類型的數(shù)據(jù),以及輸出如何受到特征值的影響。 Scikit learn的可視化工具是可視化和理解決策樹的絕佳選擇。

  • 需要很少的數(shù)據(jù)準備。 許多ML模型可能需要大量數(shù)據(jù)預(yù)處理,例如標準化,并且可能需要復(fù)雜的正則化方法。 另一方面,在調(diào)整了一些參數(shù)后,決策樹可以很好地開箱即用。

  • 使用樹進行推理的成本只有用于訓練樹的數(shù)據(jù)點的數(shù)量的對數(shù)。 這是一個巨大的優(yōu)勢,因為它意味著擁有更多數(shù)據(jù)不一定會對我們的推理速度產(chǎn)生巨大影響。

缺點:

  • 由于訓練的性質(zhì),過擬合在決策樹中很常見。 通常建議執(zhí)行某種類型的降維,例如PCA,使得樹不必在如此多的特征上被拆分

  • 出于與過擬合的情況類似,決策樹也容易變得偏向于在數(shù)據(jù)集中占多數(shù)的類別。 不過進行某種類的平衡(例如類權(quán)重,采樣或?qū)iT的損失函數(shù))總是一個好主意。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
如何在Python中構(gòu)建決策樹回歸模型
一文讀懂隨機森林的解釋和實現(xiàn)(附python代碼)
決策樹:最清晰明了的分類模型
圖解隨機森林算法
[轉(zhuǎn)載]【轉(zhuǎn)】GBDT算法介紹
算法基礎(chǔ)(17)| 隨機森林算法基礎(chǔ)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服