决策树算法及其应用案例

article/2025/11/10 18:58:25

决策树算法主要分为三类:
ID3、C4.5、CART算法
以ID3算法为例:

对上表某图书销量进行预测.
思考:建立测试模型,各个变量数据权重?数据的转化?
重点在于:计算各个信息熵(数据预处理),可参考百度百科内容
决策树算法模块:
关注点:对数据需要进行预处理,转化为结构化数据,然后进行分析处理,信息熵的计算,权重大小的比较
数据的预处理模块:

#数据的处理模块
fname="C:/Users/Administrator/Desktop/pandashesuanfa/lesson.csv"
df=pd.read_csv(fname)               #备注:需要将csv文件转为utf-8格式再进行读取文件
#print(df)x=df.iloc[:,1:5].as_matrix()   #提取变量值,并转化为数组
y=df.iloc[:,5].as_matrix()  #等价于df.iloc[:,5:6]for i in range(0,len(x)):       #遍历所有数据for j in range(0,len(x[i])):thisdata=x[i][j]if(thisdata=="是" or thisdata=="多" or thisdata=="高"):x[i][j]=int(1)  #1的类型转为整型else:x[i][j]=int(-1)
for i in range(0,len(y)):thisdata=y[i]if(thisdata=="高"):y[i]=1else:y[i]=-1
'''
容易错的地方:直接拿数据进行训练
原因dtype=object类型不对,
首先应该转化格式,将x,y转化为数据框,然后转化为数组并指定格式
'''
xf=pd.DataFrame(x)
yf=pd.DataFrame(y)
x2=xf.as_matrix().astype(int)
y2=yf.as_matrix().astype(int)

建立决策树模块:

#建立决策树
from sklearn.tree import  DecisionTreeClassifier as DTC
dtc=DTC(criterion="entropy")
dtc.fit(x2,y2)#方法一:通过代码实现输出预测结果数据,如下
import numpy as np
x3=np.array([[1,-1,-1,1],[1,1,1,1,],[-1,1,-1,1],[-1,-1,1,1]])  #预测四个数据的销量高低
rst=dtc.predict(x3)   #利用决策树的方法predict进行计算
print(rst)              #得出[ 1  1 -1 -1]四个预测结果:高,高,低,低'''
#方法二:可视化决策树,人工根据决策树图形进行分析预测结果
from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO
with open("tree.dot","w") as file:      #以写入的方式创建并打开file=export_graphviz(dtc,feature_names=["shizhan","keshishu","chu3333xiao","ziliao"],out_file=file)
'''
输出结果:[ 1  1 -1 -1]:高、高、低、低

完整代码如下: 

#决策树ID3算法
import pandas as pd
'''
fname="C:/Users/Administrator/Desktop/pandashesuanfa/lesson1.xls"
df=pd.read_excel(fname)
编译通过
'''
fname="C:/Users/Administrator/Desktop/pandashesuanfa/lesson.csv"
df=pd.read_csv(fname)               #备注:需要将csv文件转为utf-8格式再进行读取文件
#print(df)x=df.iloc[:,1:5].as_matrix()   #提取变量值,并转化为数组
y=df.iloc[:,5].as_matrix()  #等价于df.iloc[:,5:6]
for i in range(0,len(x)):       #遍历所有数据for j in range(0,len(x[i])):thisdata=x[i][j]if(thisdata=="是" or thisdata=="多" or thisdata=="高"):x[i][j]=int(1)  #1的类型转为整型else:x[i][j]=int(-1)
for i in range(0,len(y)):thisdata=y[i]if(thisdata=="高"):y[i]=1else:y[i]=-1
'''
容易错的地方:直接拿数据进行训练
原因dtype=object类型不对,
首先应该转化格式,将x,y转化为数据框,然后转化为数组并指定格式
'''
xf=pd.DataFrame(x)
yf=pd.DataFrame(y)
x2=xf.as_matrix().astype(int)
y2=yf.as_matrix().astype(int)
#建立决策树
from sklearn.tree import  DecisionTreeClassifier as DTC
dtc=DTC(criterion="entropy")
dtc.fit(x2,y2)#方法一:通过代码实现输出预测结果数据,如下
import numpy as np
x3=np.array([[1,-1,-1,1],[1,1,1,1,],[-1,1,-1,1],[-1,-1,1,1]])  #预测四个数据的销量高低
rst=dtc.predict(x3)   #利用决策树的方法predict进行计算
print(rst)              #得出[ 1  1 -1 -1]四个预测结果:高,高,低,低'''
#方法二:可视化决策树,人工根据决策树图形进行分析预测结果
from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO
with open("tree.dot","w") as file:      #以写入的方式创建并打开file=export_graphviz(dtc,feature_names=["shizhan","keshishu","chu3333xiao","ziliao"],out_file=file)
'''

 


http://chatgpt.dhexx.cn/article/65V2Sh6U.shtml

相关文章

决策树算法(matlab)

本文转载自: 点击打开链接 决策树是一种特别简单的机器学习分类算法。决策树想法来源于人类的决策过程。举个最简单的例子,人类发现下雨的时候,往往会有刮东风,然后天色变暗。对应于决策树模型,预测天气模型中的刮东风…

决策树算法梳理(从原理到示例)

决策树是最经典的机器学习模型之一。它的预测结果容易理解,易于向业务部门解释,预测速度快,可以处理类别型数据和连续型数据。本文的主要内容如下: 信息熵及信息增益的概念,以及决策树的节点分裂的原则;决…

机器学习-决策树算法

概念: 是一种树形结构,本质是一颗由多个判断节点组成的树其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。 通过分析可知: 决策树是非参数学习算法决策树可…

机器学习:决策树算法

文章目录 一、什么是决策树?二、决策树算法基本步骤三、算法实例1.数据集描述2.计算数据集香农熵3.数据集划分4.选择最好的数据集划分方式5.递归构建决策树6.创建树7.构造注解树8.使用决策树执行分类9.决策树的保存 三、运行结果 一、什么是决策树? 决策…

决策树算法:ID3

决策树是最经常使用的数据挖掘算法,其核心是一个贪心算法,它采用自顶向下的递归方法构建决策树,下面是一个典型的决策树:   目前常用的决策树算法有ID3算法、改进的C4.5,C5.0算法和CART算法 ID3算法的核心是在决策树…

什么是决策树算法

1.1、什么是决策树 咱们直接切入正题。所谓决策树,顾名思义,是一种树,一种依托于策略抉择而建立起来的树。 机器学习中,决策树是一个预测模型;他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象…

【机器学习】决策树算法解读

【机器学习】决策树算法解读 文章目录 【机器学习】决策树算法解读1. 介绍1.1 优缺点1.2 结构1.3 学习过程1.4 决策树与条件概率分布 2. 决策树学习过程2.1 训练策略2.2 特征选择2.2.1 信息增益和条件熵 2.3 决策树的生成2.3.1 ID32.3.2 C4.52.3.3 CART2.3.4 小结 2.4 决策树的…

详解决策树算法

决策树 1.1 决策树定义 何为决策树,顾名思义,就像树枝状的决策算法,通过各个节点的“决策”,实现对任务的精准分类或回归,决策树常用来处理分类问题,即使你以前没接触过决策树,你也可以通过下…

决策树算法及其实现

决策树算法及其实现 1 什么是决策树 决策树(Decision Tree)是一种基本的分类与回归方法,本文主要讨论分类决策树。决策树模型呈树形结构,在分类问题中,表示基于特征对数据进行分类的过程。它可以认为是if-then规则的…

决策树算法 (CART分类树)

决策树算法 (ID3,C4.5) CART回归树 决策树的后剪枝 在决策树算法原理(ID3,C4.5)中,提到C4.5的不足,比如模型是用较为复杂的熵来度量,使用了相对较为复杂的多叉树,只能处理分类不能处理回归。对这些问题&a…

决策树算法总结

决策树算法常用于解决分类问题,该方法的优势在于其数据形式非常容易理解。 概述 决策树(decision tree)是一类常见的机器学习方法.以二分类任务为例,我们希望从给定训练数据集学得一个模型用以对新示例进行分类&…

决策树算法原理简介

1,决策树概念简介 不同的算法模型适合于不同类型的数据。 首先,在了解树模型之前,自然想到树模型和线性模型有什么区别呢?其中最重要的是,树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个…

机器学习——决策树算法

文章目录 一、决策树介绍二、利用信息增益选择最优划分属性三、ID3代码实现1.jupyter下python实现2. 使用sklearn实现ID3 四、C4.5算法实现五、CART算法实现六、总结参考文献 一、决策树介绍 决策树是一种基于树结构来进行决策的分类算法,我们希望从给定的训练数据集…

机器学习算法:决策树算法

1.基本定义 决策树(Decision Tree)是一种基本的分类和回归算法。该算法模型呈树形结构,主要由结点和有向边组成。结点又分为两种类型:内部结点和叶子结点。内部结点表示在一个属性或特征上的测试,每一个结点分枝代表一个测试输出,…

决策树算法应用及结果解读

作者:林骥 来源:林骥 引言 本文是我写的人工智能系列的第 8 篇文章,文末有前面 7 篇文章的链接,推荐你阅读、分享和交流。 1. 决策树算法简介 决策树是一种应用非常广泛的算法,比如语音识别、人脸识别、医疗诊断、模式…

机器学习算法(3)之决策树算法

前言:首先,在了解树模型之前,自然想到树模型和线性模型有什么区别呢?其中最重要的是,树形模型是一个一个特征进行处理,之前线性模型是所有特征给予权重相加得到一个新的值。决策树与逻辑回归的分类区别也在…

机器学习基础 决策树算法

文章目录 一、决策树算法简介二、决策树分类原理1. 熵1.1 概念1.2 案例 2. 决策树的划分依据一----信息增益2.1 概念2.2 案例 3. 决策树的划分依据二----信息增益率3.1 概念3.2 案例3.2.1 案例一3.2.2 案例二 3.3 为什么使用C4.5要好 4. 决策树的划分依据三 ----基尼值和基尼指…

【机器学习常见算法】决策树算法(含示例代码)

决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规 则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各 种问题时…

【决策树】深入浅出讲解决策树算法(原理、构建)

本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅!​个人主页:有梦想的程序星空​个人介绍:小编是人工智能领域硕士,全栈工程…

协方差矩阵推导

协方差定义:,其中分别为向量的均值。 设已知矩阵 则 样本自由度m-1,设,,则