广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python机器学习应用之基于决策树算法的分类预测篇
  • 547
分享到

Python机器学习应用之基于决策树算法的分类预测篇

2024-04-02 19:04:59 547人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、决策树的特点 1.优点 2.缺点 二、决策树的适用场景 三、demo一、决策树的特点 1.优点 具有很好的解释性,模型可以生成可以理解的规则。可以发现特征的重要程度。模型

一、决策树的特点

1.优点

  • 具有很好的解释性,模型可以生成可以理解的规则。
  • 可以发现特征的重要程度。
  • 模型的计算复杂度较低。

2.缺点

  • 模型容易过拟合,需要采用减枝技术处理。
  • 不能很好利用连续型特征。
  • 预测能力有限,无法达到其他强监督模型效果。
  • 方差较高,数据分布的轻微改变很容易造成树结构完全不同。

二、决策树的适用场景

  • 决策树模型多用于处理自变量与因变量是非线性的关系。
  • 梯度提升树(GBDT),XGBoost以及LightGBM等先进的集成模型均采用决策树作为基模型。(多粒度联森林模型)
  • 决策树在一些明确需要可解释性或者提取分类规则的场景中被广泛应用。在医疗辅助系统中为了方便专业人员发现错误,常常将决策树算法用于辅助病症检测。

三、demo


#%%demo
##  基础函数库导入
import numpy as np 

## 导入画图库
import matplotlib.pyplot as plt
import seaborn as sns

## 导入决策树模型函数
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
import pydotplus 
from Ipython.display import Image
##Demo演示DecisionTree分类
## 构造数据集
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)
## 可视化构造的数据样本点
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 = pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf("D:\Python\ML\DecisionTree.pdf") 
# 模型预测
## 创建新样本
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)

运行结果

训练集决策树

明天继续,还有一个决策树在真实数据集上的应用,明天出。先搞课题~

到此这篇关于Python机器学习应用之基于决策树算法的分类预测篇的文章就介绍到这了,更多相关Python 决策树算法内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python机器学习应用之基于决策树算法的分类预测篇

本文链接: https://www.lsjlt.com/news/162749.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作