決策樹題目(是否適合打網球)簡單學習 手算

2022-07-23 17:57:15 字數 2968 閱讀 7859

題目:

大致結果手繪圖:

詳細計算過程:

一級篩選:

一級篩選

1.天氣

from math import*sum = -(9/14) * log(9/14,2) - (5/14) * log(5/14,2

)a = 5/14*(-(2/5) * log(2/5,2) - (3/5) * log(3/5,2

))#晴

b = 4/14*(-1 * log(1,2

))#陰

c = 5/14*(-(3/5) * log(3/5,2) - (2/5) * log(2/5,2

))#雨

sum1 = a + b +c

print(sum -sum1)結果#

0.2467498197744391

2.溫度

from math import*sum = -(9/14) * log(9/14,2) - (5/14) * log(5/14,2

)a = 4/14*(-(1/2) * log(1/2,2) - (1/2) * log(1/2,2

))#熱

b = 6/14*(-(2/3) * log(2/3,2) - (2/3) * log(2/3,2

))#溫

c = 4/14*(-(3/4) * log(3/4,2) - (1/4) * log(1/4,2

))#涼爽

sum1 = a + b +c

print(sum -sum1)結果#

0.08851363698450365

3.濕度

from math import*sum = -(9/14) * log(9/14,2) - (5/14) * log(5/14,2

)a = 7/14*(-(3/7) * log(3/7,2) - (4/7) * log(4/7,2

))#高

b = 7/14*(-(6/7) * log(6/7,2) - (1/7) * log(1/7,2

))#中

sum1 = a +b

print(sum -sum1)結果#

0.15183550136234136

4.是否有風

from math import*sum = -(9/14) * log(9/14,2) - (5/14) * log(5/14,2

)a = 6/14*(-(3/6) * log(3/6,2) - (3/6) * log(3/6,2

))#是

b = 8/14*(-(6/8) * log(6/8,2) - (2/8) * log(2/8,2

))#否

sum1 = a +b

print(sum -sum1)結果#

0.04812703040826927

所以一級篩選選擇天氣

二級篩選:

2

.1晴2.1

.1溫度

from math import*sum = -(2/5) * log(2/5,2) - (3/5) * log(3/5,2

)a = 2/5*(-(1/2) * log(1/2,2) - (1/2) * log(1/2,2

))#溫

#熱和涼爽都為0

sum1 =a

print(sum -sum1)結果#

0.5709505944546686

2.1.2濕度

由於中和高都為0,所以資訊增益最大

2.1.3是否有風

from math import*sum = -(2/5) * log(2/5,2) - (3/5) * log(3/5,2

)a = 2/5*(-(1/2) * log(1/2,2) - (1/2) * log(1/2,2

))#是

b = 3/5*(-(1/3) * log(1/3,2) - (2/3) * log(2/3,2

))#否

sum1 = a +b

print(sum -sum1)結果#

0.01997309402197489

所以在二級篩選中晴天時選擇濕度

2.2陰————全部適合

2.3雨

2.3.1溫度

from math import*sum = -(2/5) * log(2/5,2) - (3/5) * log(3/5,2

)a = 2/5*(-(1/2) * log(1/2,2) - (1/2) * log(1/2,2

))#涼爽

b = 3/5*(-(1/3) * log(1/3,2) - (2/3) * log(2/3,2

))#溫

#熱為0

sum1 = a +b

print(sum -sum1)結果#

0.01997309402197489

2.3.2濕度

from math import*sum = -(2/5) * log(2/5,2) - (3/5) * log(3/5,2

)a = 2/5*(-(1/2) * log(1/2,2) - (1/2) * log(1/2,2

))#高

b = 3/5*(-(1/3) * log(1/3,2) - (2/3) * log(2/3,2

))#中

sum1 = a +b

print(sum -sum1)結果#

0.01997309402197489

2.3.3是否有風

由於有風和無風都為0,所以資訊增益最大

所以在二級篩選中晴天時選擇是否有風

關於手算有不懂的的地方可以問我~

(爭取早點弄出程式,手算費腦子。。。)

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...

決策樹(二)決策樹回歸

回歸 決策樹也可以用於執行回歸任務。我們首先用sk learn的decisiontreeregressor類構造一顆回歸決策樹,並在乙個帶雜訊的二次方資料集上進行訓練,指定max depth 2 import numpy as np quadratic training set noise np.r...

決策樹01 決策樹的原理

此筆記根據 machine learning in action 和周志華教授的 機器學習 所作。缺點 可能會產生過度匹配問題。適用資料型別 數值型和標稱型 machine learning in action if so return 類標籤 else 尋找劃分資料集的最好特徵 劃分資料集 建立分...