task 2 基于决策树的分类预测

本文介绍了决策树的基础知识,包括ID3、C4.5和CART算法,重点讲解了sklearn库中的DecisionTreeClassifier,并通过实例展示了如何使用该算法进行分类预测,包括数据集构建、模型拟合、决策树可视化和预测。
摘要由CSDN通过智能技术生成

1、决策树简介

1.1 决策树

决策树(Decision Tree):决策树是一种树形结构,包含一个根结点和内部若干结点和若干叶子结点。其中叶子结点是我们的决策结果。内部若干节点是我们所给测试集的各种特征属性。从根结点到叶子结点的路径代表了一种输出的判别方法。其流程可以简单概括为“分而治之”。决策树最关键的就是如何选择最优划分属性。

1.2 常见的决策树分类算法

ID3算法:ID3是一种基于信息熵的决策树分类学习算法,利用信息熵的下降速度作为属性选择的度量,以信息增益和信息熵为准则来选择划分属性的决策树学习算法。
C4.5算法:基于ID3算法的改进,主要包括:使用信息增益率替换了信息增益下降度作为属性选择的标准;在决策树构造的同时进行剪枝操作;避免了树的过度拟合情况;可以对不完整属性和连续型数据进行处理。
CART算法:根据基尼(gini)系数来选择测试属性,gini系数的值越小,划分效果越好。CART分类算法的基本思想是:对训练样本集进行递归划分自变量空间,并依次建立决策树模型,然后采用验证数据的方法进行树枝修剪,从而得到一颗符合要求的决策树分类模型。

对上述三种算法感兴趣的可以参照博客决策树算法详细介绍

2、sklearn决策树算法简介

2.1 sklearn.tree.DecisionTreeClassifier()

sklearn.tree.DecisionTreeClassifier()函数:用来构建决策树,默认使用CART算法。
其函数原型为:sklearn.tree.DecisonTreeClassifier(criterion=’gini’,splitter=’best’,max_depth=None,min_samples_split=2,min_samples_leaf=1,min_weight_fraction_leaf=0.0,max_features=None,random_state=None,max_leaf_nodes=None,min_impurity_decrease=0.0,min_impurity_split=None,class_weight=None,presort=False)
criterion:该参数用来表明选择的划分属性的标准是什么,默认情况下是采用基尼系数,CART算法采用基尼系数作为度量的标准。若想采用C4.5算法可以将其设置为"enproty",表示信息增益率。
splitter:该参数是表明结点划分时采用的策略,默认为"best",表民划分策略采用criterion的策略,即选用最优属性来划分。可以设置"random"随机选择策略。
max_depth:该参数表明决策树的最大深度,默认为None表示不对其最大深度作约束,但当样本过大可以选择设置合适的深度提前结束决策树,避免出现过拟合。
其他属性可以参考参数说明

3、实例分析

3.1 Demo实践

3.1.1 完整代码

##  基础函数库
import numpy as np 
## 导入画图库
import matplotlib.pyplot as plt
import seaborn as sns
## 导入决策树模型函数
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
##Demo演示LogisticRegression分类
## 构造数据集
x_fearures = np.array([[-1, -2], [-2, -1
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值