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

分享

決策樹:ID3算法解釋

 天承辦公室 2021-08-16

本文旨在詳細解釋ID3算法(用于構(gòu)建決策樹的眾多算法之一)。 我們使用偽造的Covid-19樣本數(shù)據(jù)集解釋該算法。

決策樹:ID3算法解釋

> Image Courtesy: http:///uncategorized/hello-world/

什么是決策樹?

簡而言之,決策樹是一種包含節(jié)點(矩形框)和邊線(箭頭)的結(jié)構(gòu),并從數(shù)據(jù)集(代表要素/屬性的列表和對應于記錄的表)構(gòu)建而成。 每個節(jié)點要么用于制定決策(稱為決策節(jié)點),要么代表結(jié)果(稱為葉節(jié)點)。

決策樹示例

決策樹:ID3算法解釋

上圖描繪了一個決策樹,用于對一個人是健康還是不健康進行分類。 這里的決策節(jié)點是諸如''這個人是否小于30歲?','這個人吃垃圾嗎?'之類的問題,葉子是兩種可能的結(jié)果之一。 適合與不適合看決策樹,我們可以說做出以下決定:如果一個人不到30歲并且不吃垃圾食品,那么他就適合了;如果一個人不到30歲并且 吃垃圾食品,然后他變得不健康,依此類推。

初始節(jié)點稱為根節(jié)點(藍色),最終節(jié)點稱為葉節(jié)點(綠色),其余節(jié)點稱為中間或內(nèi)部節(jié)點。根節(jié)點和中間節(jié)點代表決策,而中間節(jié)點代表決策。 葉節(jié)點代表結(jié)果。

ID3簡介

ID3代表迭代二分器3,之所以這樣命名,是因為該算法在每個步驟中將迭代(重復)地將特征二分(劃分)為兩個或更多組。

ID3由Ross Quinlan發(fā)明,它使用自上而下的貪婪方法來構(gòu)建決策樹。 簡而言之,自上而下的方法意味著我們從頂部開始構(gòu)建樹,而貪婪的方法則意味著在每次迭代中,我們都選擇當前最好的特征來創(chuàng)建節(jié)點。

通常,ID3僅用于僅具有名義特征的分類問題。

數(shù)據(jù)集描述

在本文中,我們將使用COVID-19感染的樣本數(shù)據(jù)集。 整個數(shù)據(jù)集的預覽如下所示。

+----+-------+-------+------------------+----------+
| ID | Fever | Cough | Breathing issues | Infected |
+----+-------+-------+------------------+----------+
| 1 | NO | NO | NO | NO |
+----+-------+-------+------------------+----------+
| 2 | YES | YES | YES | YES |
+----+-------+-------+------------------+----------+
| 3 | YES | YES | NO | NO |
+----+-------+-------+------------------+----------+
| 4 | YES | NO | YES | YES |
+----+-------+-------+------------------+----------+
| 5 | YES | YES | YES | YES |
+----+-------+-------+------------------+----------+
| 6 | NO | YES | NO | NO |
+----+-------+-------+------------------+----------+
| 7 | YES | NO | YES | YES |
+----+-------+-------+------------------+----------+
| 8 | YES | NO | YES | YES |
+----+-------+-------+------------------+----------+
| 9 | NO | YES | YES | YES |
+----+-------+-------+------------------+----------+
| 10 | YES | YES | NO | YES |
+----+-------+-------+------------------+----------+
| 11 | NO | YES | NO | NO |
+----+-------+-------+------------------+----------+
| 12 | NO | YES | YES | NO |
+----+-------+-------+------------------+----------+
| 13 | NO | YES | YES | NO |
+----+-------+-------+------------------+----------+
| 14 | YES | YES | NO | NO |
+----+-------+-------+------------------+----------+

這些列是不言自明的。 Y和N分別代表是和否。 '已感染'列Y和N中的值或類別分別表示'已感染'和'未感染'。

用于制作決策節(jié)點的列。 '呼吸問題','咳嗽'和'發(fā)燒'稱為特征列,或僅稱為特征,而用于葉節(jié)點的列(即'感染')稱為目標列。

ID3中的指標

如前所述,ID3算法在構(gòu)建決策樹時的每一步都會選擇最佳功能。 在您問之前,問題的答案是:' ID3如何選擇最佳功能?'是ID3使用信息增益或僅通過增益來找到最佳功能。

信息增益可計算熵的減少量,并衡量給定要素對目標類別的區(qū)分或分類的程度。 信息增益最高的功能被選為最佳功能。

簡而言之,熵是數(shù)據(jù)集的無序量度,數(shù)據(jù)集的熵是數(shù)據(jù)集的目標特征中無序量度。對于二進制分類(目標列只有兩種類型的類別),熵為0 如果目標列中的所有值都是同質(zhì)的(相似),并且如果目標列中兩個類的值均相等,則為1。

我們將數(shù)據(jù)集表示為S,熵的計算公式為:

Entropy(S) = - ∑ p? * log?(p?) ; i = 1 to n

其中,n是目標列中類的總數(shù)(在我們的案例中,n = 2,即I和NI)p?是類' i'的概率或'目標列中具有類i的行數(shù)'的比率 到數(shù)據(jù)集中的'總行數(shù)'。

特征列A的信息增益計算為:

IG(S, A) = Entropy(S) - ∑((|S?| / |S|) * Entropy(S?))

其中S?是S中特征列A的值為v的行集合|S?| 是S?中的行數(shù),同樣| S | 是S中的行數(shù)。

ID3步驟

· 計算每個功能的信息增益。

· 考慮到所有行都不屬于同一類,請使用信息增益最大的功能將數(shù)據(jù)集S分成子集。

· 使用具有最大信息增益的功能創(chuàng)建決策樹節(jié)點。

· 如果所有行都屬于同一類,則將當前節(jié)點作為以該類為標簽的葉節(jié)點。

· 重復其余功能,直到用盡所有功能,或者決策樹具有所有葉節(jié)點。

在我們的數(shù)據(jù)集上實施

如上一節(jié)所述,第一步是找到最佳功能,即具有最大信息增益(IG)的功能。 現(xiàn)在,我們將為每個功能計算IG,但為此,我們首先需要計算S的熵

在我們的數(shù)據(jù)集S中,總共有14行,其中有8行的目標值為YES,有6行的目標值為NO。 S的熵計算為:

Entropy(S) = — (8/14) * log?(8/14) — (6/14) * log?(6/14) = 0.99

注意:如果目標列中的所有值都相同,則熵將為零(這意味著它沒有隨機性或隨機性為零)。

現(xiàn)在,我們計算每個功能的信息增益:

發(fā)燒的IG計算:在此(發(fā)燒)功能中,有8行的值為YES和6行的值為NO。 目標值NO

+-------+-------+------------------+----------+
| Fever | Cough | Breathing issues | Infected |
+-------+-------+------------------+----------+
| YES | YES | YES | YES |
+-------+-------+------------------+----------+
| YES | YES | NO | NO |
+-------+-------+------------------+----------+
| YES | NO | YES | YES |
+-------+-------+------------------+----------+
| YES | YES | YES | YES |
+-------+-------+------------------+----------+
| YES | NO | YES | YES |
+-------+-------+------------------+----------+
| YES | NO | YES | YES |
+-------+-------+------------------+----------+
| YES | YES | NO | YES |
+-------+-------+------------------+----------+
| YES | YES | NO | NO |
+-------+-------+------------------+----------+

如下所示,在具有否的6行中,有2行具有目標值YES和4行具有目標值NO。

+-------+-------+------------------+----------+| Fever | Cough | Breathing issues | Infected |+-------+-------+------------------+----------+| NO | NO | NO | NO |+-------+-------+------------------+----------+| NO | YES | NO | NO |+-------+-------+------------------+----------+| NO | YES | YES | YES |+-------+-------+------------------+----------+| NO | YES | NO | NO |+-------+-------+------------------+----------+| NO | YES | YES | YES |+-------+-------+------------------+----------+| NO | YES | YES | NO |+-------+-------+------------------+----------+

下面的方框演示了發(fā)燒信息增益的計算。

# total rows|S| = 14For v = YES, |S?| = 8Entropy(S?) = - (6/8) * log?(6/8) - (2/8) * log?(2/8) = 0.81For v = NO, |S?| = 6Entropy(S?) = - (2/6) * log?(2/6) - (4/6) * log?(4/6) = 0.91# Expanding the summation in the IG formula:IG(S, Fever) = Entropy(S) - (|S???| / |S|) * Entropy(S???) - (|S??| / |S|) * Entropy(S??)∴ IG(S, Fever) = 0.99 - (8/14) * 0.81 - (6/14) * 0.91 = 0.13

接下來,我們計算'咳嗽'和'呼吸問題'特征的IG。您可以使用此免費的在線工具來計算信息增益。

IG(S, Cough) = 0.04

IG(S, BreathingIssues) = 0.40

由于功能``呼吸問題''具有最高的信息增益,因此可用于創(chuàng)建根節(jié)點。因此,在此初始步驟之后,我們的樹如下所示:

決策樹:ID3算法解釋

接下來,從剩余的兩個未使用功能(發(fā)燒和咳嗽)中,我們確定哪個最適合呼吸問題的左分支。由于呼吸問題的左分支表示是,因此我們將使用原始數(shù)據(jù)的子集 也就是說,'呼吸問題'列中值為YES的行集。 這8行如下所示:

+-------+-------+------------------+----------+
| Fever | Cough | Breathing issues | Infected |
+-------+-------+------------------+----------+
| YES | YES | YES | YES |
+-------+-------+------------------+----------+
| YES | NO | YES | YES |
+-------+-------+------------------+----------+
| YES | YES | YES | YES |
+-------+-------+------------------+----------+
| YES | NO | YES | YES |
+-------+-------+------------------+----------+
| YES | NO | YES | YES |
+-------+-------+------------------+----------+
| NO | YES | YES | YES |
+-------+-------+------------------+----------+
| NO | YES | YES | YES |
+-------+-------+------------------+----------+
| NO | YES | YES | NO |
+-------+-------+------------------+----------+

接下來,我們使用子集S??(設(shè)置呼吸問題為是)計算發(fā)燒和咳嗽特征的IG,如上所示:

注意:對于IG計算,熵將根據(jù)子集S??而非原始數(shù)據(jù)集S計算得出。

IG(S??, Fever) = 0.20

IG(S??, Cough) = 0.09

發(fā)燒的IG大于咳嗽的IG,因此我們選擇發(fā)燒作為呼吸問題的左分支:我們的樹現(xiàn)在如下所示:

決策樹:ID3算法解釋

接下來,我們?yōu)?#39;呼吸問題'的右分支找到具有最大IG的特征。 但是,由于只剩下一個未使用的功能,我們別無選擇,只能使其成為根節(jié)點的右分支,所以我們的樹現(xiàn)在看起來像這樣:

決策樹:ID3算法解釋

沒有更多未使用的功能,因此我們在此處停止并跳至創(chuàng)建葉節(jié)點的最后一步。對于Fever的左葉節(jié)點,我們看到原始數(shù)據(jù)集中具有呼吸問題和Fever兩個值的行的子集 如是。

+-------+-------+------------------+----------+| Fever | Cough | Breathing issues | Infected |+-------+-------+------------------+----------+| YES | YES | YES | YES |+-------+-------+------------------+----------+| YES | NO | YES | YES |+-------+-------+------------------+----------+| YES | YES | YES | YES |+-------+-------+------------------+----------+| YES | NO | YES | YES |+-------+-------+------------------+----------+| YES | NO | YES | YES |+-------+-------+------------------+----------+

由于目標列中的所有值均為YES,因此我們將左側(cè)葉子節(jié)點標記為YES,但為了使其更具邏輯性,我們將其標記為Infected。

同樣,對于發(fā)燒的右側(cè)節(jié)點,我們會看到原始數(shù)據(jù)集中行的子集,其呼吸問題值為YES,發(fā)燒值為NO。

+-------+-------+------------------+----------+| Fever | Cough | Breathing issues | Infected |+-------+-------+------------------+----------+| NO    | YES   | YES              | YES      |+-------+-------+------------------+----------+| NO    | YES   | YES              | NO       |+-------+-------+------------------+----------+| NO    | YES   | YES              | NO       |+-------+-------+------------------+----------+

在這里,不是所有值,而是所有值都是NO,因此NO或Not Infected成為我們的右葉節(jié)點。 現(xiàn)在,我們的樹如下所示:

決策樹:ID3算法解釋

我們對節(jié)點Cough重復相同的過程,但是此處的左右葉子都相同,即NO或Not Infected如下圖所示:

決策樹:ID3算法解釋

看起來很奇怪,不是嗎? 我知道! 呼吸問題的正確節(jié)點與'未感染'類別的葉子節(jié)點一樣好。 這是ID3的缺點之一,它不會修剪。

修剪是一種通過刪除不必要的節(jié)點來減少決策樹的大小和復雜性的機制。 有關(guān)修剪的更多信息,請參見此處。

ID3的另一個缺點是過擬合或高方差,即它很好地學習了它使用的數(shù)據(jù)集,因此無法歸納為新數(shù)據(jù)。

摘要

我們詳細介紹了ID3算法的過程,并看到僅使用兩個度量標準即使用該算法創(chuàng)建決策樹是多么容易。 熵和信息增益。

希望你喜歡它,伙計們!謝謝閱讀

參考文獻:

https://www.cise./~ddd/cap6635/Fall-97/Short-papers/2.htm

任何人都可以根據(jù)我們的政策在'中'上發(fā)布,但我們并沒有對每個故事進行事實檢查。 有關(guān)冠狀病毒的更多信息,請參見cdc.gov。

(本文翻譯自Yaser Sakkaf的文章《Decision Trees: ID3 Algorithm Explained》,參考:
https:///decision-trees-for-classification-id3-algorithm-explained-89df76e72df1)

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多