数据挖掘之决策树归纳算法的Python实现

同样,这里把之前的实验报告搬出来。

引自百度:决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。


决策树的算法原理:

(1)通过把实例从根节点开始进行排列到某个叶子节点来进行分类的。

(2)叶子节点即为实例所属的分类的,树上的每个节点说明了实例的属性。

(3)树的生成,开始的所有数据都在根节点上,然后根据你所设定的标准进行分类,用不同的测试属性递归进行数据分析。


决策树的实现主要思路如下: 

(1)先计算整体类别的熵 

(2)计算每个特征将训练数据集分割成的每个子集的熵,并将这个熵乘以每个子集相对于这个训练集的频率,最后将这些乘积累加,就会得到一个个特征对应的信息增益。 

(3)选择信息增益最大的作为最优特征分割训练数据集 

(4)递归上述过程 

(5)递归结束条件:训练集的所有实例属于同一类;或者所有特征已经使用完毕。


代码如下:

#!/usr/bin/python
#coding=utf-8
import operator
import math

#定义训练数据集
def createDataSet():

	#用书上图8.2的数据
	dataSet = [
			['youth', 'no', 'no', 'no'],
			['youth', 'yes', 'n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值