机器学习之决策树

本文介绍了决策树的基本概念,包括根节点、中间节点、叶节点的定义,并详细阐述了特征选择、信息熵、信息增益等核心概念。通过代码展示了如何计算信息熵、信息增益以及如何按照信息增益选择最佳切分列来构建决策树。同时,还提供了数据集划分、决策树构建及准确度评估的方法,帮助读者理解并实现决策树算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://t.csdn.cn/2sWSP决策树

http://t.csdn.cn/NdlCs next()and iter()函数

http://t.csdn.cn/tRN4I sort_values and value_counts()函数

http://t.csdn.cn/Uqmtt pandas库

决策树

根节点: 没有进只有出

中间节点:有进有出,进边只有一条,出边可以很多条

叶节点:只有进,每个叶节点都是一个类别标签

父节点和子节点:相对而言

每一个实例都被有且只有一条路径或者规则所覆盖。

特征选择选取:选择纯度高的节点(分支节点所包含的样本尽可能属于同一类别)

常常衡量不纯度的指标有:熵(香农熵),增益率,基尼指数

 

创造数据:

关于鱼类的分类表 {水生 有无脚蹼}

计算信息熵

代码实现:

信息增益

代码实现:

计算信息增益即寻找最佳切分列代码实现如下

按照给定序列切分数据集

代码实现:

主体代码:递归构建决策树

对已给数据集进行分类

切分已经给定数据集为训练集和测试集

计算生成的决策树的准确度

决策树是常用的机器学习算法之一,通过对数据的分类和特征值计算来完成对未知数据的预测。本文将介绍使用Python实现决策树算法的相关步骤。 首先,需要导入决策树算法工具包,使用以下代码: ```python from sklearn import tree ``` 然后,导入训练数据和测试数据,并进行预处理。为了方便起见,在本文中采用生成随机数的方式来生成样本数据,使用以下代码: ```python from sklearn.datasets import make_classification X, y = make_classification(n_samples=100, n_features=4, n_classes=2, n_informative=2, n_redundant=0, random_state=0, shuffle=False) ``` 接下来,使用生成的样本数据进行模型训练。这里使用scikit-learn中的DecisionTreeClassifier()函数。 ```python clf = tree.DecisionTreeClassifier() clf = clf.fit(X, y) ``` 训练后,调用predict()方法进行对测试数据的预测,使用以下代码: ```python y_pred = clf.predict(X) ``` 最后,评估模型的准确率,使用以下代码: ```python from sklearn.metrics import accuracy_score print(accuracy_score(y, y_pred)) ``` 这就是使用Python实现决策树算法的基本过程。决策树可以根据数据中的不同特征进行分类,是一个简单且常用的分类算法。决策树算法也可用于回归问题,例如预测一个数的大小。与其他机器学习算法相比,决策树具有易于理解和可解释的优点,同时还可以处理非线性的分类问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

herry_drj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值