机器学习算法(AI入门体验)Task02:基于决策树的分类预测

本文介绍了决策树的主要优点,如解释性强、能揭示特征重要性,以及其缺点,如易过拟合、不擅处理连续特征。通过实战演示了模型训练、数据可视化和预测过程,强调了决策树递归构建和节点纯度的重要性。
摘要由CSDN通过智能技术生成
  1. 决策树的主要优点:
    (1) 具有很好的解释性,模型可以生成可以理解的规则。
    (2) 可以发现特征的重要程度。
    (3) 模型的计算复杂度较低。
  2. 决策树的主要缺点:
    (1)模型容易过拟合,需要采用减枝技术处理。
    (2)不能很好利用连续型特征。
    (3)预测能力有限,无法达到其他强监督模型效果。
    (4) 方差较高,数据分布的轻微改变很容易造成树结构完全不同。
  3. 算法实战
    (1)库函数导入
##  基础函数库
import numpy as np 
## 导入画图库
import matplotlib.pyplot as plt
import seaborn as sns
## 导入决策树模型函数
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree

(2)训练模型

##Demo演示LogisticRegression分类
## 构造数据集
x_fearures = np.array([[-1, -2], [-2, -1], [-3, -2], [1, 3], [2, 1], [3, 2]])
y_label = np.array([0, 1, 0, 1, 0, 1])
## 调用逻辑回归模型
tree_clf = DecisionTreeClassifier()
## 用逻辑回归模型拟合构造的数据集
tree_clf = tree_clf.fit(x_fearures, y_label)

(3)数据和模型可视化(需要用到graphviz可视化库)

## 可视化构造的数据样本点
plt.figure()
plt.scatter(x_fearures[:,0],x_fearures[:,1], c=y_label, s=50, cmap='viridis')
plt.title('Dataset')
plt.show()

## 可视化决策树
import graphviz
dot_data = tree.export_graphviz(tree_clf, out_file=None)
graph = graphviz.Source(dot_data)
graph.render("pengunis")

输出:
在这里插入图片描述
在这里插入图片描述
(4)模型预测

## 创建新样本
x_fearures_new1 = np.array([[0, -1]])
x_fearures_new2 = np.array([[2, 1]])
## 在训练集和测试集上分布利用训练好的模型进行预测
y_label_new1_predict = tree_clf.predict(x_fearures_new1)
y_label_new2_predict = tree_clf.predict(x_fearures_new2)
print('The New point 1 predict class:\n',y_label_new1_predict)
print('The New point 2 predict class:\n',y_label_new2_predict)

输出:

The New point 1 predict class:
 [1]
The New point 2 predict class:
 [0]

在这里插入图片描述
4. 总结
决策树的构建过程是一个递归过程。函数存在三种返回状态:
(1)当前节点包含的样本全部属于同一类别,无需继续划分;
(2)当前属性集为空或者所有样本在某个属性上的取值相同,无法继续划分;
(3)当前节点包含的样本集合为空,无法划分。
一般我们希望决策树每次划分节点中包含的样本尽量属于同一类别,也就是节点的“纯度”更高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值