決策樹演算法 python實現

2021-08-02 16:08:05 字數 518 閱讀 6116

定義:

資訊增益:再劃分資料之前之後資訊發生的變化。

香濃熵(簡稱熵):集合資訊的度量方式,熵是資訊的期望值。

其實決策樹主要就是選擇最優劃分屬性對給定集合進行劃分,隨著花粉的不斷進行,我們希望最終決策樹所包含的樣本盡量屬於同一類別,即結點的「純度」越來越高。

資訊增益的計算:

1.資訊熵的計算ent(d)越小,純度越高

2.資訊增益:

gain(d,a) = ent(d) - 屬性的資訊熵

資訊增益越大,則意味著使用屬性a來進行劃分所獲得的「純度提公升越大」

3.gain_ratio(d,a) = gain(d,a)/iv(a)

iv(a)的計算

iv(a)稱為屬性a的固有值,a的取值數目越多(v越大),則iv(a)的值通常越大。

由式子可見,增益率準則對可取值數目較少的屬性有所偏好,故演算法並非直接選擇增益率最大的候選屬性來進行劃分。他使用的是乙個啟發式,從候選劃分屬性中找出資訊增益高於平均水平的屬性,再從中選取增益率最高的。

Python實現決策樹演算法

決策樹的一般流程 檢測資料集中的每個子項是否屬於同乙個分類 if so return 類標籤 else 尋找劃分資料集的最好特徵 劃分資料集 建立分支 節點 from math import log import operator 生成樣本資料集 defcreatedataset dataset 1...

決策樹演算法 Python實現

import matplotlib.pyplot as plt import pandas as pd from sklearn.datasets import fetch california housing housing fetch california housing print housi...

Python 決策樹演算法的實現

完整的程式如下 from sklearn.feature extraction import dictvectorizer import csv from sklearn import tree from sklearn import preprocessing from sklearn.exter...