码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 机器学习实战(6)——决策树


    目录

    1 决策树训练和可视化

    2 做出预测

    3 估算类别概率

    4 CART训练算法

    5 正则化超参数

    6 回归

    7 不稳定性


    1 决策树训练和可视化

    下面简单看一下例子:

    常规模块的导入以及图像可视化的设置:

    1. # Common imports
    2. import numpy as np
    3. import os
    4. # to make this notebook's output stable across runs
    5. np.random.seed(42)
    6. # To plot pretty figures
    7. %matplotlib inline
    8. import matplotlib as mpl
    9. import matplotlib.pyplot as plt
    10. mpl.rc('axes', labelsize=14)
    11. mpl.rc('xtick', labelsize=12)
    12. mpl.rc('ytick', labelsize=12)
    1. from sklearn.datasets import load_iris
    2. from sklearn.tree import DecisionTreeClassifier,export_graphviz
    3. iris = load_iris()
    4. X = iris.data[:, 2:] # petal length and width
    5. y = iris.target
    6. tree_clf = DecisionTreeClassifier(max_depth=2, random_state=42)
    7. tree_clf.fit(X, y)
    8. #可视化决策树
    9. #网站显示结构:http://webgraphviz.com/
    10. #http://dreampuf.github.io/GraphvizOnline/将dot文件内容复制该网站即可,等待一会出图
    11. export_graphviz(tree_clf,out_file="iris1_tree.dot")

    默认路径下打开iris1_tree.dot文件:

    1. digraph Tree {
    2. node [shape=box, fontname="helvetica"] ;
    3. edge [fontname="helvetica"] ;
    4. 0 [label="X[0] <= 2.45\ngini = 0.667\nsamples = 150\nvalue = [50, 50, 50]"] ;
    5. 1 [label="gini = 0.0\nsamples = 50\nvalue = [50, 0, 0]"] ;
    6. 0 -> 1 [labeldistance=2.5, labelangle=45, headlabel="True"] ;
    7. 2 [label="X[1] <= 1.75\ngini = 0.5\nsamples = 100\nvalue = [0, 50, 50]"] ;
    8. 0 -> 2 [labeldistance=2.5, labelangle=-45, headlabel="False"] ;
    9. 3 [label="gini = 0.168\nsamples = 54\nvalue = [0, 49, 5]"] ;
    10. 2 -> 3 ;
    11. 4 [label="gini = 0.043\nsamples = 46\nvalue = [0, 1, 45]"] ;
    12. 2 -> 4 ;
    13. }

    具体可视化步骤已在本篇博文中讲述:

    机器学习(18)——分类算法(补充)_WHJ226的博客-CSDN博客

    简单步骤如下:首先打开该网站Graphviz Online ,最后将dot文件内容复制粘贴左侧代码区即可。

    效果如下:(另外pycharm中的插件也可以实现决策树可视化,不过目前上述方法还没出现问题就未曾探索)

  • 相关阅读:
    长短期记忆网络(LSTM)
    JS Echarts之雷达图 | 使用Excel画雷达图
    Pyecharts一文速学-绘制桑基图详解+Python代码
    【长难句分析精讲】并列结构练习题
    [NOIP2006 提高组] 作业调度方案
    java毕业设计房产销售系统mybatis+源码+调试部署+系统+数据库+lw
    基于Linux的无界面网盘 项目
    k8s系列文章三:单节点集群服务
    用DIV+CSS技术设计的网页与实现制作【体育文化】dreamweaver学生网页设计
    26-38-javajvm-类加载器子系统
  • 原文地址:https://blog.csdn.net/WHJ226/article/details/126591965
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号