树的建立步骤:引入包、数据的获取与处理、获取名称与类别标记——>选择样本最多的类作为类别标记——>重点来了,计算信息熵——>子数据集构建——>计算信息增益——>选择最优属性——>建立决策树。这些步骤搞懂了,基本就理解了决策树的原理。
import pandas as pd
import numpy as np
from collections import Counter
from math import log2
# In[56]:
#数据获取与处理
def getData(file_Path):
file_path = r'F:date427\decisionTree\xigua.xls'
data = pd.read_excel( file_path)
return data
def dataDeal(data):
dataList = np.array(data).tolist() #将矩阵转化成列表
dataSet = [element[1:] for element in dataList]
return dataSet
# In[57]:
#获取属性名称
def getLabels(data):
labels = list(data.columns)[1:-1]
return labels
# In[58]:
#获取类别标记
def targetClass(dataSet):
classification = set([element[-1] for element in dataSet])
return classification
# In[59]:
#将分支结点标记为叶结点,选择样本数最多的类作为类标记
def majorityRule(dataSet):
mostKind = Counter([element[-1]