ID3决策树

本文介绍了ID3决策树的基本概念、数据构建、特征选择、信息增益计算以及如何返回最常见分类。讨论了决策树的优缺点,如对连续字段的预测困难,以及在类别过多时可能增加错误。此外,详细解释了数据集划分和创建决策树的函数实现过程。
摘要由CSDN通过智能技术生成

一、基本概要

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。以下使用的是ID3算法。

缺点:
1)对连续性的字段比较难预测。
2)对有时间顺序的数据,需要很多预处理的工作。
3)当类别太多时,错误可能就会增加的比较快。
4)一般的算法分类的时候,只是根据一个字段来分类。

二、构建数据

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
from math import log
def calcShannonEnt(dataSet):
    """计算信息熵"""
    numEntries=len(dataSet)#计算实例总数
    labelCounts={
   }
    for featVec in dataSet:#对dataSet的每一个元素进行处理 
        currentLabel=featVec[-1]#将dataSet的每一个元素的最后一个元素选择出来
        if currentLabel 
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值