python决策树分类鸢尾花_基于决策树—鸢尾花分类

本文介绍了决策树算法的基础知识,包括定义、分类流程、特征选择与算法选择,如ID3、C4.5和CART。通过经典案例——鸢尾花数据集,展示了如何使用Python的sklearn库实现决策树分类,并进行了数据可视化,讨论了决策树的优点和缺点。

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

决策树算法广泛应用于:语音识别、医疗诊断、客户关系管理、模式识别、专家系统等,在实际工作中,必须根据数据类型的特点及数据集的大小,选择合适的算法。

本文选择经典案例——《鸢尾花分类》

一、决策树定义

决策树算法是一种基于实例的自上而下的算法,常用于分类与预测。利用树型结构二分类,问题主要集中在剪枝与训练样本。

决策树思维是一种逻辑思考方式,逐层的设定条件对事物进行刷选判断,每一次刷选判断都是一次决策,最终得到达到目的;整个思考过程,其逻辑结构类似分叉的树状,因此称为决策树思维;

决策树森林由几种决策树的预测组合成一个最终的预测,为应用集成思想提高决策树的准确率。

例:公式招聘时的决策树思维

此过程形成了一个树的结构,树的叶子(录用 / 考察)节点位置是做出的决定,也可以理解为是对输出(也就是应聘者的信息)的分类:录用、考察——这样的逻辑思考的过程就叫决策树。

二、决策树分类的基本流程

2.1基本算法流程

2.2特征选择与算法选择

首先要考虑哪个变量是树根,哪个是树节点,为此,我们需要考虑变量的重要性。

怎么衡量?,或者说怎样选择?有三种算法:

- ID3算法 :使用信息增益(作为不纯度)——适合大规模数据处理

- C4.5算法 :使用信息增益率(作为不纯度)——适合大规模数据处理(相较于ID3算法更好,但是计算资源占用大)

- CART 算法:使用基尼系数(作为不纯度)——适合小样本数据处理

不同的方法形成不同的决策树,决策树方法会把每个特征都试一遍,最后选取能够使分类分的最好的特征(e.g. 将A属性作为父节点,产生的纯度增益(GainA)要大于B属性作为父节点,则A作为优先选取的属性)。

2.3划分选择与剪枝

三、案例分析

基于决策树对鸢尾花分类

#基于决策树的鸢尾花分类

'''

- 描述:“代码实操”以及内容延伸部分源代码

- 时间:2019-07-24

- 作者:欧XX(Alan Ou)

- 程序开发环境:win10 64位

- Python版本:64位 3.7

- 依赖库:numpy、pandas、sklearn、matplotlib

- 程序输入:iris.cvs

- 程序输出:iris_classification_result.xlsx

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

'''

导入模块

import pandas as pd

import matplotlib.pyplot as plt

from sklearn.datasets import load_iris

from sklearn import tree

读取数据

iris = load_iris()

iris_feature = iris.data #特征数据

iris_target = iris.target #分类数据

#鸢尾花数组长度为150,共3种类别。

#种类为:Iris Setosa(山鸢花)、Iris Versicolour(杂色鸢尾)Iris Virginica(维吉尼亚鸢尾),分别用0、1、2标签代表

print (iris.data) #输出数据集

print ('-----------------------------')

print (iris.target) #输出真实标签

print (len(iris.target) )

print ('-----------------------------')

print (iris

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值