【带你快速了解人工智能开发机器学习基础课程第十九周】

本文介绍了决策树的基本概念和原理,包括ID3、C4.5和CART等构建方法。通过实例展示了如何使用Python的sklearn库训练和可视化决策树模型,并利用鸢尾花数据集绘制了决策边界。最后,讨论了决策树的剪枝和其在分类与回归问题中的应用。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


#博学谷IT学习技术支持#

一、决策树

决策树是一种树形模型,也是一种十分常用的分类和回归方法。在本章节,我们将要学习决策树的构建原理,具体内容如下:

了解决策树算法的基本思想
掌握 ID3 决策树的构建原理
掌握 C4.5 决策树的构建原理
掌握 CART 决策树的构建原理
了解剪枝的作用

二、决策树介绍

有的同学可能在大学学习过一门课程叫《数据结构》,里面有一个重要的结构就是“树”,和现实生活中的树一样,树的主要由四部分树根、树干、树枝、树叶组成,今天的决策树也是一种树结构,大家学习的时候可以想象现实生活中的树来来理解。

决策树算法是一种监督学习算法,英文是Decision tree。

决策树思想的来源非常朴素,试想每个人的大脑都有类似于if-else这样的逻辑判断,这其中的if表示的是条件,if之后的then就是一种选择或决策。程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。
基于鸢尾花数据绘制图像

import numpy as np
import matplotlib.pyplot as plt

from sklearn import datasets

iris = datasets.load_iris()
X = iris.data[:,2:]
y = iris.target

plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])
plt.scatter(X[y==2,0],X[y==2,1])

plt.show()

训练决策树模型

from sklearn.tree import DecisionTreeClassifier

tree = DecisionTreeClassifier(max_depth=2,criterion="entropy")
tree.fit(X,y)

依据模型绘制决策树的决策边界

#找到模型的决策边界,并绘制图像(此方法所用到的api不需要掌握,能够调用就行)
def plot_decision_boundary(model,axis):
    x0,x1 = np.meshgrid(
        np.linspace(axis[0],axis[1],int((axis[1]-axis[0])*100)).reshape(-1,1),
        np.linspace(axis[2],axis[3],int((axis[3]-axis[2])*100)).reshape(-1,1)
    )
    X_new = np.c_[x0.ravel(),x1.ravel()]
    y_predict = model.predict(X_new)
    zz = y_predict.reshape(x0.shape)

    from matplotlib.colors import ListedColormap
    custom_map = ListedColormap(["#EF9A9A","#FFF59D","#90CAF9"])

    plt.contourf(x0,x1,zz,linewidth=5,cmap=custom_map)

plot_decision_boundary(tree,axis=[0.5,7.5,0,3])
plt.scatter(X[y==0,0],X[y==0,1])
plt.scatter(X[y==1,0],X[y==1,1])
plt.scatter(X[y==2,0],X[y==2,1])
plt.show()

树模型可视化

from sklearn.tree import plot_tree
import matplotlib.pyplot as plt

plot_tree(tree,filled=True)
plt.show()

三、小结

决策树算法:

是非参数学习算法
可以解决分类(多分类)问题
可以解决回归问题:落在叶子节点的数据的平均值作为回归的结果
决策树API:

from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import plot_tree
构建决策树的三个步骤:

特征选择:选取有较强分类能力的特征
决策树生成

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了决策树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

あいうえおらりるれろわをん

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

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

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

打赏作者

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

抵扣说明:

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

余额充值