python决策树生成规则_ID3决策树(python实现)

决策树的生成(该函数是一个递归的过程)CreateTree

输入:数据集、特征

输出:字典型数据——决策树

a、判断是否满足停止划分的条件

若当前数据集的属性值为空,则投票表决当前样本中最多的类别

若当前所有的样本类别相同,则返回当前数据的类别。

b、寻找当前数据的最佳划分特征

c、将最佳特征作为关键字,保存到字典中

d、从当前的属性集合中删除该最佳特征

e、遍历该最佳划分特征的所有属性值feat,循环调用函数 CreateTree(输入参数为:最佳特征值为feat的所有数据集,去除最佳特征的属性集合)

代码注意:

1、生成的决策树用字典保存,并且每个关键字的值是一个字典;

2、生成的决策树可以用 pickle 序列化对象保存;

3、ID3 算法适用于标称型数据,在函数的输入、输出中,数据类型为 listlist。

代码:

#-*- coding:utf-8 -*-

import numpy as np

from numpy import *

import pandas as pd

from math import *

import operator

import pickle # 使用该模块实现对决策树的保存

# 数据导入

def loadData(fileName):

dataSet = []

fr = open(fileName)

for featVector in fr.readlines():

line

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值