决策树 java iris_用决策树(CART)解决iris分类问题

本文介绍了使用决策树(CART)解决Iris数据集的分类问题。通过对Iris数据集中花萼和花瓣长度、宽度的分析,利用sklearn库构建并训练决策树模型。讨论了如何避免过拟合,包括调整决策树的最大深度,并比较了gini和entropy两种损失函数。同时,展示了决策树的预测过程和可视化决策树的结构。
摘要由CSDN通过智能技术生成

首先先看Iris数据集

Sepal.Length——花萼长度Sepal.Width——花萼宽度

Petal.Length——花瓣长度Petal.Width——花瓣宽度

通过上述4中属性可以预测花卉属于Setosa,Versicolour,Virginica 三个种类中的哪一类

决策树 by CART

决策树有挺多种,这里讲下CART

CART的执行过程是这样的:

用特征值k和下限tk二分子集

不断二分,直到到达最大深度或者划分不能再减少不纯度为止

这一下sklearn都会自动帮我们完成,我们调用就行了

如何避免过拟合问题

减小最大深度等等

一个tip:

​min_* 的调大

​ max_*的调小

​就是DecisionTreeClassifier里面的参数,具体看文档_(:з」∠)_

损失函数的比较

sklearn提供了两种损失函数gini和entropy

gini是通过计算每个节点的不纯度,具体公式如下↓

\(J(k,t_k) = \frac{m_{left}}{m}G_{left} + \frac{m_{right}}{m}G_{right}\)

entropy在这里就不再赘述了

sklearn默认的是调用gini,因为gini的速度会快点,而且两者最后的效果是差不多的,真要比的话entropy产生的决策树会更平衡点

接下来我们来看代码

from sklearn.datasets import load_iris

from sklearn.tree import DecisionTreeC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值