【机器学习】决策树-ID3算法的Python实现

本文详细介绍了如何使用Python实现ID3决策树算法,包括从文件中读取数据集、计算信息熵、选择最佳分割特征以及构建决策树的过程。通过示例代码展示了如何对数据进行分类。
摘要由CSDN通过智能技术生成
'''
Created on Jan 30, 2015

@author: 史帅
'''

from math import log
import operator
import re

def fileToDataSet(fileName):
    '''
    此方法功能是:从文件中读取样本集数据,样本数据的格式为:数据以空白字符分割,最后一列为类标签
        
        参数:
            fileName:存放样本集数据的文件路径
        
        返回值:
            dataSet:样本集数据组成的二维数组
    '''
    file=open(fileName, mode='r')
    lines=file.readlines()
    dataSet=[]
    index=0
    p=re.compile(r"\s+")
    for line in lines:
        line=p.split(line.strip())
        dataSet.append(line)
        index+=1
    return dataSet

def calculateShannonEntropy(dataSet):
    '''
    此方法功能是:计算样本集数据类别的信息熵,样本数据的格式为二维数组
        
        参数:
            dataSet:样本集数据组成的二维数组
        
        返回值:
            shannonEntropy:样本集数据类别的信息熵
    '''
    dataCount=len(dataSet)
    classCountDic={}
    for data in dataSet:
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值