四、分类算法 - 决策树

目录

1、认识决策树

2、决策树分类原理详解

3、信息论基础

3.1 信息

3.2 信息的衡量 - 信息量 - 信息熵

3.3 决策树划分的依据 - 信息增益

3.4 案例

4、决策树API

5、案例:用决策树对鸢尾花进行分类

6、决策树可视化

7、总结

8、案例:泰坦尼克号乘客生存预测

8.1 流程分析


  1. sklearn转换器和估算器
  2. KNN算法
  3. 模型选择和调优
  4. 朴素贝叶斯算法
  5. 决策树
  6. 随机森林

1、认识决策树

如何高效的进行决策?

       特征的先后顺序

2、决策树分类原理详解

已知 四个特征值 预测 是否贷款给某个人

  • 先看房子,再工作 -> 是否贷款 只看了两个特征
  • 年龄,信贷情况,工作 看了三个特征

3、信息论基础

3.1 信息

香农:消除随机不定性的东西

  • 小明 年龄“我今年18岁”- 信息
  • 小华”小明明年19岁”-不是信息

3.2 信息的衡量 - 信息量 - 信息熵

3.3 决策树划分的依据 - 信息增益

3.4 案例

4、决策树API

5、案例:用决策树对鸢尾花进行分类


def decision_iris():
    # 用决策树对鸢尾花进行分类
    # 1、获取数据集
    iris = load_iris()
    # 2、划分数据集
    x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,random_state=22)
    # 3、决策树预估器
    estimator = DecisionTreeClassifier(criterion="entropy")
    estimator.fit(x_train,y_train)
    # 4、模型评估
    # 方法1 :直接比对真实值和预测值
    y_predict = estimator.predict(x_test)
    print("y_predict:\n", y_predict)
    print("直接比对真实值和预测值:\n", y_test == y_predict)
    # 方法2:计算准确率
    score = estimator.score(x_test, y_test)
    print("准确率为:\n", score)
    return None

if __name__ == "__main__":   
    # 代码4:用决策树对鸢尾花进行分类
    decision_iris()

6、决策树可视化

  1. 导入   from sklearn.tree import DecisionTreeClassifier,export_graphviz
  2. 可视化决策树      export_graphviz(estimator,out_file="iris_tree.dot")
  3. 生存.dot文件,打开复制到网址http://webgraphviz.com/
from sklearn.datasets import load_iris, fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.naive_bayes import MultinomialNB
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeClassifier,export_graphviz


def decision_iris():
    # 用决策树对鸢尾花进行分类
    # 1、获取数据集
    iris = load_iris()
    # 2、划分数据集
    x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,random_state=22)
    # 3、决策树预估器
    estimator = DecisionTreeClassifier(criterion="entropy")
    estimator.fit(x_train,y_train)
    # 4、模型评估
    # 方法1 :直接比对真实值和预测值
    y_predict = estimator.predict(x_test)
    print("y_predict:\n", y_predict)
    print("直接比对真实值和预测值:\n", y_test == y_predict)
    # 方法2:计算准确率
    score = estimator.score(x_test, y_test)
    print("准确率为:\n", score)
    # 可视化决策树
    export_graphviz(estimator,out_file="iris_tree.dot",feature_names=iris.feature_names)
    return None

if __name__ == "__main__":    
    # 代码4:用决策树对鸢尾花进行分类
    decision_iris()

7、总结

8、案例:泰坦尼克号乘客生存预测

8.1 流程分析

  • 获取数据
  • 数据处理
  1. 缺失值处理
  2. 特征值 -> 字典类型
  • 准备好特征值、目标值
  • 划分数据集
  • 特征工程:字典特征抽取
  • 决策树预估器流程
  • 模型评估

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/413494.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

景联文科技:引领战场数据标注服务,赋能态势感知升级

自21世纪初,信息化战争使战场环境变得更为复杂和难以预测,持续涌入的海量、多样化、多来源和高维度数据,加大了指挥员的认知负担,使其需要具备更强的数据处理能力。 同时,计算机技术和人工智能技术的飞速发展&#xff…

模板的初阶

目录 【本节目标】 1.泛型编程 2.函数模板 2.1函数模板概念 2.1 函数模板格式 2.3函数模板的原理 2.4函数模板的实例化 2.5模板参数的匹配原则 3.类模板 3.1类模板的定义格式 3.2类模板的实例化 【本节目标】 1. 泛型编程 2. 函数模板 3. 类模板 1.泛型编程 如何实现…

jeesite用字典项配置二级下拉选

1、配置字典项 2、html代码&#xff1a;修改下拉选项框 <div class"col-xs-6"><div class"form-group"><label class"control-label col-sm-4" title""><span class"required">*</span> ${…

电脑桌面备忘录怎么设置?如何在电脑桌面上添加便签?

在日常生活中&#xff0c;电脑桌面上的便签功能可以帮助我们更有效地管理待办事项和重要信息。下面就让我们一起来学习电脑桌面备忘录怎么设置&#xff0c;如何在电脑桌面上添加便签吧。 首先&#xff0c;我们需要找到操作系统中的“小部件”或“小工具”选项。通常情况下&…

[C++][linux]Linux上内存共享内存用法

一&#xff0c;什么是共享内存 共享内存&#xff08;Shared Memory&#xff09;&#xff0c;指两个或多个进程共享一个给定的存储区。进程可以将同一段共享内存连接到它们自己的地址空间中&#xff0c;所有进程都可以访问共享内存中的地址&#xff0c;就好像它们是由用C语言函…

【JavaSE】输入输出处理

目录 File类常用方法代码示例 流分类字节流输入流字节流输出流字节流复制粘贴效果字符流输入流字符流输出流Buff版输入输出流二进制流序列化和反序列化 File类 File file new File( String pathname ); 常用方法 代码示例 public static void main(String[] args) {//1.创建…

用友U8 Cloud BlurTypeQuery SQL注入漏洞复现

0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 Cloud BlurTypeQuery接口处存在SQL注入漏洞,未授权的攻击者可通过此漏洞获取数据库权限,从而盗取用户数据,造成用户信息泄露。 …

基于uniapp框架的古汉语学习考试系统 微信小程序python+java+node.js+php

1、一般用户的功能及权限 所谓一般用户就是指还没有注册的过客,他们可以浏览主页面上的信息。但如果需要其它操作时&#xff0c;要登录注册&#xff0c;只有注册成功才有的权限。 2、管理员的功能及权限 用户信息的添加和管理&#xff0c;古汉语信息加和管理和学习视频添加和管…

片上网络NoC

本文大部分内容来源于王志英老师主编的《片上网络原理与设计》以及网络&#xff0c;部分内容是本人理解所得&#xff0c;若有不当之处请指教 一、概述 片上网络将报文交换的思想引入芯片内部通信机制中&#xff0c;尽管片上网络和片外网络具有一定相似性&#xff0c;但二者在…

Ethernet/IP转Modbus TCP网关

产品功能 1 YC-EIP-TCP工业级EtherNet/IP 网关 2 Modbus TCP 转 EtherNet/IP 3支持ModBus主从站 4 即插即用 无需编程 轻松组态 ,即实现数据交互 5导轨安装 支持提供EDS文件 6 EtherNET/IP与ModBus互转数据透明传输可接入PLC组态 支持CodeSys/支持欧姆龙PLC 支持罗克韦尔(AB) 典…

RISC-V SoC + AI | 在全志 D1「哪吒」开发板上,跑个 ncnn 神经网络推理框架的 demo

引言 D1 是全志科技首款基于 RISC-V 指令集的 SoC&#xff0c;主核是来自阿里平头哥的 64 位的 玄铁 C906。「哪吒」开发板 是全志在线基于全志科技 D1 芯片定制的 AIoT 开发板&#xff0c;是目前还比较罕见的使用 RISC-V SoC 且可运行 GNU/Linux 操作系统的可量产开发板。 n…

代码随想录算法训练营第25天—回溯算法05 | *491.递增子序列 *46.全排列 47.全排列 II

*491.递增子序列 https://programmercarl.com/0491.%E9%80%92%E5%A2%9E%E5%AD%90%E5%BA%8F%E5%88%97.html 视频讲解&#xff1a;https://www.bilibili.com/video/BV1EG4y1h78v 考点 回溯子集去重 我的思路 暴力法&#xff0c;不进行去重&#xff0c;仅在最后加入结果时判断当…

探索比特币现货 ETF 对加密货币价格的潜在影响

撰文&#xff1a;Sean&#xff0c;Techub News 文章来源Techub News&#xff0c;搜Tehub News下载查看更多Web3资讯。 自美国比特币现货交易所交易基金&#xff08;ETF&#xff09;上市以来&#xff0c;比特币现货 ETF 的相关信息无疑成为了影响比特币价格及加密货币市场走向…

提升 Node.js 服务端性能:Fastify 框架

微信搜索“好朋友乐平”关注公众号。 1. fastify Fastify 是一个高效且快速的 Node.js web 框架&#xff0c;专为提供最佳的性能而设计。它是相对较新的&#xff0c;但已经因其高性能和低开销而受到许多开发者的欢迎。Fastify 提供了一个简洁的开发体验&#xff0c;同时支持快…

【基于Ubuntu20.04的Autoware.universe安装过程】方案一:虚拟机 | 详细记录 | Vmware | 全过程图文 by.Akaxi

目录 一、Autoware.universe背景 二、虚拟机配置 三、Ubuntu20.04安装 四、GPU显卡安装 五、ROS2-Galactic安装 六、ROS2-dev-tools安装 七、rmw-implementation安装 八、pacmod安装 九、autoware-core安装 十、autoware universe dependencies安装 十一、安装pre-c…

光速入门spark(待续)

目录 Spark概述Spark 是什么Spark VS Hadoop (MapReduce)Spark or HadoopSpark四大特点速度快易于使用通用性强运行方式 Spark 框架模块&#xff08;架构&#xff09;Spark的运行模式Spark的架构角色 Spark环境搭建LocalStandaloneSpark程序运行层次结构 Spark on YARN部署模式…

有适合短视频剪辑软件的吗?分享4款热门软件!

在数字时代&#xff0c;短视频已成为人们获取信息、娱乐消遣的重要形式。随着短视频行业的蓬勃发展&#xff0c;市场上涌现出众多短视频剪辑软件&#xff0c;它们功能各异&#xff0c;各具特色。本文将为您详细介绍几款热门短视频剪辑软件&#xff0c;助您轻松掌握短视频剪辑技…

Linux拉取SVN服务器代码

1. window10系统上安装了Ubuntu&#xff0c;然后在Ubuntu上拉去SVN服务器的代码&#xff0c;我这是用VScode连接的ubuntu 终端Terminal&#xff0c;我这里相当于有三台电脑了&#xff0c;公司的服务器上windows的&#xff0c;svn代码就是在这台服务器里面&#xff0c;然后我又在…

idea集成git(实用篇)

0.Git常用命令 Git常用命令-CSDN博客 1.下载git Git - Downloads 一路傻瓜式安装即可&#xff08;NEXT&#xff09; 2.软件测试 在Windows桌面空白处&#xff0c;点击鼠标右键&#xff0c;弹出右键菜单 Git软件安装后&#xff0c;会在右键菜单中增加两个菜单 Git GUI He…

ClickHouse 指南(三)最佳实践 -- 跳数索引

Data Skipping Indexes Data Skipping Indexes 2 1、简介 影响ClickHouse查询性能的因素很多。在大多数情况下&#xff0c;关键因素是ClickHouse在计算查询WHERE子句条件时是否可以使用主键。因此&#xff0c;选择适用于最常见查询模式的主键对于有效的表设计至关重要。 然…
最新文章