python实现C4.5
原理
原理就不在此过多赘述,可自行搜索,或者看我之前写的学习心得:https://blog.csdn.net/weixin_38273255/article/details/88752468
代码
在这里就直接上代码了。
代码和之前写的ID3大部分都是一样的,在这就不贴重复代码了,只将不同的代码在这贴出来。
之前ID3链接:https://blog.csdn.net/weixin_38273255/article/details/88981748
只需要将ID3中的creat.py换成这里的代码就可以了。
creat.py
#coding: utf-8
from numpy import *
from scipy import *
from math import log
import operator
import draw as dr
#计算给定数据的香浓熵:
def calcShannonEnt(dataSet):
numEntries = len(dataSet)
labelCounts = {} #类别字典(类别的名称为键,该类别的个数为值)
for featVec in dataSet:
currentLabel = featVec[-1]
if