决策树算法代码实现及注释(代码来自于机器学习实战)

本文介绍了决策树的基本思想,包括树形结构、基于熵的信息划分,并详细阐述了如何利用信息增益选择特征属性。同时,给出了决策树算法的Python代码实现,通过递归完成整个决策树的构建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

决策树算法思想如下:

1.决策树就是一个树形结构,每一个非叶子节点可以在某一个特征属性上的判断,基于不同的判断条件,对数据进行划分为各个分支,每个分支代表这个特征属性在某个之于上的输出,每个叶子节点存放一个标签或者类别。

2.决策树算法利用熵来判断如果选择每次需要划分的特征属性;信息增益=划分前信息熵-按照此属性划分后的信息熵,或信息增益大于0,则说明划分后的不确定性减小了。划分是有效的。而信息增益最大的对应特征属性,即可作为此次划分的特征属性.

3.递归实现熵的计算和判断。从而完成整个决策树的划分。


代码实现如下:


#! /usr/bin/python
#coding=utf-8
from math import log
import operator
#假设决策树应用为海洋动物是否为鱼类的分类。
def  createDataSet():
	dataSet = [[1,1,'yes'],[1,1,'yes'],[1,0,'no'],[0,1,'no'],[0,1,'no']] #每一行的每一列含义依次为(不浮出水面是否可以生存的值,是否有脚蹼的值,属于鱼类的值)
	labels = ['no surfacing','flippers']#两个特征项(不能浮出水面是否可以生存,脚蹼)
	return dataSet,labels
'''
dataSet:样本集合
''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值