決策樹演算法學習筆記(一)

2021-08-02 22:03:42 字數 1172 閱讀 1827

夏農熵的計算
# -*- coding: utf-8 -*-

frommathimportlog

defcalcshannonent(dataset):

numentries=len(dataset)#統計資料集的數量

labelcounts={}#建立乙個資料字典

forfeatvecindataset:

currentlabel=featvec[-1]#取資料集的最後一列資料

ifcurrentlabelnot inlabelcounts.keys():#資料字典中是否存在當前鍵值

labelcounts[currentlabel]=0

#資料字典中如果不存在則加入字典中

labelcounts[currentlabel]+=1

#資料字典中如果存在當前鍵值則數量加一

shannonent=0.0

#初始化夏農熵

forkeyinlabelcounts:#計算夏農熵

prob=float(labelcounts[key])/numentries

shannonent-=prob*log(prob,

2)returnshannonent

defcreatedataset():

dataset=[[1,1

,'yes'],[1,1

,'yes'],[1,0

,'no'],[0,1

,'no'],[0,1

,'no']]

labels=['no su***cing'

,'flippers']

returndataset,labels

mydat,labels=createdataset()

printcalcshannonent(mydat)

0.970950594455

決策樹演算法學習

熵 h d plog2 p info a info d info a d 開啟csv檔案 分析 屬性 age income student credit rating 類 buys computer 共14人 from sklearn import preprocessing 資料的預處理 from...

決策樹學習筆記

模型 監督學習中的分類演算法 決策樹演算法的思路 利用樹的結構,將資料集中的特徵 屬性 劃分為樹中的分支節點 資料集中類別標籤對應樹的葉節點。構建決策樹的三要素 1.特徵選擇 資訊熵或資訊增益gini係數來選擇特徵 2.決策樹的生成 id3演算法 資訊增益 c4.5演算法 gini係數 3.決策樹的...

決策樹學習筆記

一 什麼是決策樹 決策樹是一種基於規則的方法,它用一組巢狀的規則進行 在樹的每個決策節點處,根據判斷結果進入乙個分之,反覆執行這種操作直到到達葉子節點,得到 結果。這些規則是通過訓練得到的,而不是認為設定的。規則是每一次 時的閥值。二 樹形成決策的過程 為便於用程式實現,一般將決策樹設計成二叉樹。與...