機器學習 決策樹( 夏農熵)

2021-09-28 19:53:19 字數 1411 閱讀 2624

夏農熵定義為資訊的期望值。在資訊理論與概率統計中,熵是表示隨機變數不確定性的度量。

假定當前樣本集合d中一共有n類樣本,第i類樣本為xi ,那麼xi的資訊定義為:

舉例:若小明和小華下棋,兩人勢均力敵,則資訊熵h = -((1/2) log2 (1/2) + (1/2) log2 (1/2)) = 1bit。

夏農熵的計算公式為:

夏農熵的值越小,則表明d的不純度越低。

計算夏農熵的python函式實現:

# 計算夏農熵

def calent(dataset):

n = dataset.shape[0] # 資料集總行數

iset = dataset.iloc[:, -1].value_counts() # 標籤的所有類別

p = iset / n # 每一類標籤所佔比

ent = (-p * (np.log2(p))).sum()

return ent

假設有如下資料集,試著實現計算夏農熵的python**。

# 計算夏農熵

def calent(dataset):

n = dataset.shape[0] # 資料集總行數

iset = dataset.iloc[:, -1].value_counts() # 標籤的所有類別

# print(iset)

'''no 3

yes 2

name: fish, dtype: int64

'''p = iset / n # 每一類標籤所佔比

'''no 0.6

yes 0.5

name: fish, dtype: int64

'''ent = (-p * (np.log2(p))).sum()

return ent

# 建立資料集

def createdataset():

row_data =

dataset = pd.dataframe(row_data)

return dataset

if __name__ == "__main__":

dataset = createdataset()

print(calent(dataset)) # 0.9709505944546686

決策樹 夏農熵

熵 entropy 是表示隨機變數不確定性的度量.所以熵越小越好 之所以po出來是因為裡面好多小函式自己找了好久 r語言用的人太少了 好痛苦 computing shannonent calshannonent function dataset t null shannonent 0 for i i...

夏農熵及決策樹建立方法

資訊熵決策樹 推薦閱讀 通訊的數學理論 在網路中進行資訊傳遞,所有資訊都是01010的二進位制編碼格式,例如這樣一封信,信中只有狗,貓,魚,鳥四個詞 信的所有內容就是這4個詞的組合。第一封信寫著 狗貓魚鳥 第二封信寫 魚貓鳥狗 信件需要二進位制編碼,在網際網路傳遞。兩個二進位制位就可以表示四個詞彙。...

機器學習 決策樹

一 基本概念 決策樹 decision tree 是一種基本的分類與回歸方法。決策樹模型呈樹形結構,在分類問題中,表示屬於特徵對例項進行分類的過程,它可以認為是if then規則的集合,也可以認為是電議在特徵空間與類空空上的條件概率分布,其主要優點是模型具有可讀性,分類速度快。決策樹的學習通常包括3...