Python机器学习之决策树(使用西瓜数据集构建决策树,并将其可视化,graphviz程序下载)

本文通过西瓜数据集实例,详细介绍了如何使用Python构建并可视化决策树。在过程中,作者分享了遇到的graphviz库安装及配置问题及其解决方案,确保决策树能够成功可视化。文章结尾还提供了一个逻辑问题,类比决策树的决策过程,引导读者思考。
摘要由CSDN通过智能技术生成

最近在搞一些关于机器学习的小东西,其中有一部分就是关于决策树的。过程中遇到了一些小问题,现记录并与大家分享。

一、问题描述:使用西瓜数据集构建决策树,并将构建的决策树进行可视化操作。

二、问题简析:首先我们简单的介绍一下什么是决策树。决策树是广泛用于分类和回归任务的模型。本质上,它从一层层的if/else问题中进行学习,并得出结论。然后不妨看看下面这个小思考题吧:(故事我瞎编的,看问题就好了嘛)

小鹿机缘巧合之下喜欢上了一个只有一面之缘的贝贝(一见钟情嘛)。对吧,爱情的力量是伟大的,小鹿就不顾一切的裸辞叻,去找人家。这不总算找到了人家里,但是考验接踵而至呀!人贝贝对小鹿还挺满意的哦,可姑娘的父母说还得考验一下不是?啥考验呢?

思辨:家里有两个卧室,老丈人,丈母娘各站一个卧室门外,贝贝就在其中一个卧室中。老丈人向来只说真话,丈母娘向来只说假话。现在只允许小鹿向两人中任意一个人提一个问题,只有成功问出贝贝在哪间卧室之中才能抱得美人归。小鹿该怎么提问?(答案在文章末尾)

为什么会来一个看似无关的废话连篇叻?其实问题有相通之处的,我们的目标是通过提出尽可能少的if/else问题来得到正确答案。

三、代码实现
为了控制文章篇幅,现在就直接给出问题的代码实现吧:

from random import choice
from collections import Counter
import math

# 定义数据集
D = [
    {
   '色泽': '青绿', '根蒂': '蜷缩', '敲声': '浊响', '纹理': '清晰', '脐部': '凹陷', '触感': '硬滑', '好瓜': '是'},
    {
   '色泽': '乌黑', '根蒂': '蜷缩', '敲声': '沉闷', '纹理': '清晰', '脐部': '凹陷', '触感': '硬滑', '好瓜': '是'},
    {
   '色泽': '乌黑', '根蒂': '蜷缩', '敲声': '浊响', '纹理': '清晰', '脐部': '凹陷', '触感': '硬滑', '好瓜': '是'},
    {
   '色泽': '青绿', '根蒂': '蜷缩', '敲声': '沉闷', '纹理': '清晰', '脐部': '凹陷', '触感': '硬滑', '好瓜': '是'},
    {
   '色泽': '浅白', '根蒂': '蜷缩', '敲声': '浊响', '纹理': '清晰', '脐部': '凹陷', '触感': '硬滑', '好瓜': '是'},
    {
   '色泽': '青绿', '根蒂': '稍蜷', '敲声': '浊响', '纹理': '清晰', '脐部': '稍凹', '触感': '软粘', '好瓜': '是'},
    {
   '色泽': '乌黑', '根蒂': '稍蜷', '敲声': '浊响', '纹理': '稍糊', '脐部': '稍凹', '触感': '软粘', '好瓜': '是'},</
  • 16
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不高明的骗子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值