合肥工业大学机器人技术第四次作业:生成决策树

这篇具有很好参考价值的文章主要介绍了合肥工业大学机器人技术第四次作业:生成决策树。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

机器人技术第四次作业:生成决策树,Python实现

样本数据

合肥工业大学机器人技术第四次作业纸质,机器人技术课程,决策树,机器学习,python,1024程序员节

ID3生成决策树基本算法

  1. 计算数据整体的香农信息熵
  2. 对每个属性,分别计算条件熵
  3. 计算条件增益
  4. 选择最有条件增益作为决策树的根节点
  5. 重复上述步骤,直到信息熵降为0.达到根节点

使用sklearn生成ID3决策树

Python第三方库sklearn提供了决策树生成算法,此次作业便是用sklearn完成

对信息的处理

sklearn在datasets类之中提供了wine数据集,其中wine.datawine.terget的类型均是numpy.ndarrray,也就是numpy的多维矩阵.在导入数据时也同样使用ndarray.

源代码
import pandas
from sklearn import tree
import matplotlib
matplotlib.use('TkAgg')
import numpy as np
import graphviz
import os
os.environ["PATH"] += os.pathsep + 'C:/Program Files/Graphviz/bin'
"""
    用1.2.3来表示价格的高低
    使用1代表中餐,2代表法式,3代表快餐,4代表意大利式
    0代表没人,1代表有人,2代表客满
    等待时间分为四个级别,0代表0-10,1代表10-30,2代表30-60,3代表>60
    
    其他均使用0或者1代表
"""
data = np.array([[1,1,3,2,1,1]
                    ,[1,1,1,1,2,2]
                    ,[0,0,1,3,1,1]
                    ,[1,1,1,1,3,1]
                    ,[1,0,3,2,2,3]
                    ,[0,1,2,4,1,1]   #6
                    ,[0,0,1,3,0,0]
                    ,[0,1,2,1,1,0]
                    ,[0,0,1,3,2,3]
                    ,[1,1,3,3,2,1]
                    ,[1,0,1,1,0,0]
                    ,[0,1,1,3,2,2]])

#### 初始化数据
DecisionData = pandas.read_csv(
    "E:\documents\DecisionTree.csv"
)
targetData = DecisionData[['ShouldWeight']]
targetDataArray = targetData.to_numpy()
print(targetDataArray)
#### 拟合
featureName = ['HasOtherChoices?','isHungry','Price','RestaurantType','isCrowded','TimeToWait']
clf = tree.DecisionTreeClassifier(criterion='entropy')
clf = clf.fit(data, targetData)
score = clf.score(data,targetData)

#### 调用Graphviz生成决策树
dot_data = tree.export_graphviz(
    clf
    ,out_file=None
    ,feature_names=featureName
    ,filled=True
    ,rounded=True
    )
graph = graphviz.Source(dot_data)
graph.render('DecisionTree')

DecisionData其实就是最后的是否决定等待的Bool值。可以替换为DecisionData = np.array([1,0,1,1,0,1,0,1,0,0,0,1])。1表示继续等待,否表示不想继续等待。


图像

Graphviz生成图像使用中文会涉及到编码问题从而中文乱码,所以使用了英文😄
不保证生成决策树模型的正确性
合肥工业大学机器人技术第四次作业纸质,机器人技术课程,决策树,机器学习,python,1024程序员节文章来源地址https://www.toymoban.com/news/detail-734661.html

到了这里,关于合肥工业大学机器人技术第四次作业:生成决策树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 合肥工业大学计算机网络实验一

    计算机网络实验报告# ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :hfut实验报告 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!

    2024年02月03日
    浏览(53)
  • 合肥工业大学计算机组成原理实验报告

    ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :本科生课设-计算机组成原理实验 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!

    2024年02月04日
    浏览(51)
  • 合肥工业大学嵌入式系统原理实验报告

    ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 : 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,

    2024年02月07日
    浏览(58)
  • 合肥工业大学网络安全实验IP-Table

    ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :hfut实验课设 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出

    2024年02月04日
    浏览(51)
  • 课程《FPGA技术及应用》作业分享(合肥工业大学仪器学院)

    合工大测控系教学 1. 简述EDA技术的发展进程。简要叙述什么是EDA技术。 EDA技术(Electronic Design Automation)是一种用于电子产品设计与制造的软件工具。 EDA技术的发展进程: 1960年代:开发出第一代EDA工具,用于电路设计与模拟。 1970年代:EDA工具发展到第二代,支持二维自动

    2024年02月03日
    浏览(65)
  • 合肥工业大学 宣城校区 数据结构与算法实验 队列、二叉树、查找和排序

    1.实验目标 熟练掌握队列的顺序存储结构和链式存储结构。 熟练掌握队列的有关算法设计,并在循环顺序队列和链队列上实现。 根据具体给定的需求,合理设计并实现相关结构和算法。 2.实验内容和要求 循环顺序队列的实验要求 循环顺序队列结构和运算定义,算法的实现以

    2024年02月11日
    浏览(49)
  • 专业135总400+合工大合肥工业大学833信号分析与处理信息通信上岸经验分享

    专业135总400+合工大合肥工业大学833信号分析与处理信息通信上岸经验分享 基础课经验很多,大同小异,我分享一下自己的833专业课复习经验。 一:用到的书本 1.《信号与系统》(第三版)郑君里,高等教育出版社,2011 2.《数字信号处理》(第四版),高西全,西安电子科技

    2024年02月08日
    浏览(49)
  • 合肥工业大学宣城校区Java技术实验二 基于GUI的网络通信程序设计

    1.掌握Java中GUI程序的编写,包括事件监听机制。 2.掌握Java的网络通信编程,ServerSocket,Socket类的使用。 3.掌握Java中多线程的编程,Thread类,Runnable接口的使用。 4.掌握用面向对象的方法分析和解决复杂问题。 编写程序完成以下功能: 1.设计一个基于GUI的客户-服务器的

    2023年04月24日
    浏览(48)
  • 专业课145+合肥工业大学833信号分析与处理考研经验合工大电子信息通信

    今年专业课145+也是考研科目中最满意的一门,其他基本相对平平,所以这里我总结一下自己的专业课合肥工业大学833信号分析与处理的复习经验。 我所用的教材是郑君里的《信号与系统》(第三版)和高西全、丁玉美的《数字信号处理》(第四版),另外自己还看了祖师爷

    2024年01月18日
    浏览(62)
  • 专业140+总410+合工大合肥工业大学833信号分析与处理综合考研经验电子信息与通信工程,真题,大纲,参考书。

    一、专业课: 833信号分析与处理综合是两门,信号和数字信号处理,复习内容较多,大家专业课要早点开始,由于近年数学难度一再提高,专业课成了高分突破的法宝,我当时先准备报考中科大843也是信号和数字信号处理,一直跟Jenny老师的中科大843专业课辅导课,不熟悉

    2024年02月20日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包