如果我的朋友說介紹個女生給我認識,那麼我會問我朋友女生的條件,然後再決定認不認識。
他說他只知道關於女生的這些資訊:
《王者榮耀》玩的好不好。
喜不喜歡寵物。
長得漂不漂亮。
脾氣好不好。
長頭髮還是短頭髮。
是否要求南方有車有房。
喜不喜歡吃辣條。
會不會做飯。
但是我的朋友很勢利,他說我每問乙個關於女生的問題就必須給他100塊。
那我應該怎麼問最少的問題,花最少的錢,就能決定認不認識呢?
像這種問題可以用id3來做判斷。
首先我先來介紹一下id3演算法。
id3 演算法是澳洲計算機科學家ross quinlan發明的,全稱是iterative dichotomiser 3。
id3 演算法的作用是通過乙個資料集來生成一棵決策樹。
id3 演算法的主要應用領域有:1,機器學習,2,自然語言處理。
id3 演算法的執行流程:
第一步是遞迴地構建決策樹,計算資訊增益最大(或者熵最小)的特徵作為最優特徵。
遞迴的出口是:1,所有標籤都一樣。 2,當所有特徵都遍歷過,那麼選擇出現最多的標籤。
ID3演算法Java實現
1.1 資訊熵 熵是無序性 或不確定性 的度量指標。假如事件a 的全概率劃分是 a1,a2,an 每部分發生的概率是 p1,p2,pn 那資訊熵定義為 通常以2 為底數,所以資訊熵的單位是 bit。1.2 決策樹 決策樹是以例項為基礎的歸納學習演算法。它從一組無次序 無規則的元組中推理出決策樹表示形...
java實現ID3演算法
id3是經典的分類演算法,要理解id3演算法,需要先了解一些基本的資訊理論概念,包括資訊量,熵,後驗熵,條件熵。id3演算法的核心思想是選擇互資訊量最大的屬性作為分割節點,這樣做可以保證所建立的決策樹高度最小。樹結構 c4.5決策樹資料結構 author zhenhua.chen descripti...
ID3演算法原理講解
熵這個概念最早起源於物理學,在物理學中是用來度量乙個熱力學系統的無序程度,而在資訊學裡面,熵是對不確定性的度量。在1948年,夏農引入了資訊熵,將其定義為離散隨機事件出現的概率,乙個系統越是有序,資訊熵就越低,反之乙個系統越是混亂,它的資訊熵就越高。所以資訊熵可以被認為是系統有序化程度的乙個度量。假...