四、分类算法 - 决策树

目录

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 Noneif __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_graphvizdef 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 Noneif __name__ == "__main__":    # 代码4:用决策树对鸢尾花进行分类decision_iris()

7、总结

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

8.1 流程分析

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习手写字符识别:推理过程

说明 本篇博客主要是跟着B站中国计量大学杨老师的视频实战深度学习手写字符识别。 第一个深度学习实例手写字符识别 深度学习环境配置 可以参考下篇博客,网上也有很多教程,很容易搭建好深度学习的环境。 Windows11搭建GPU版本PyTorch环境详细过程 数…

stable diffusion学习笔记 手部修复

图片手部修复原理 某张图片在生成后,仅有手部表现不符合预期(多指,畸形等)。这种情况下我们通常使用【局部重绘】的方式对该图片的手部进行【图生图】操作,重新绘制手部区域。 但是仅采用重绘的方式也很难保证生成的…

python爬虫实战:获取电子邮件和联系人信息

引言 在数字时代,电子邮件和联系人信息成为了许多企业和个人重要的资源,在本文中,我们将探讨如何使用Python爬虫从网页中提取电子邮件和联系人信息,并附上示例代码。 目录 引言 二、准备工作 你可以使用以下命令来安装这些库&a…

将文件从windows传入到ubuntu

实现效果图 2.方法: 2.1打开 Ubuntu 的终端窗口,然后执行如下命令来安装 FTP 服务 输入:sudo apt-get install vsftpd 等待软件自动安装,安装完成以后使用如下 VI 命令打开/etc/vsftpd.conf,命令如下:su…

6.二元操作符

平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我。 跟着我从0学习JAVA、spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信公众号【 IT特靠谱 】,每天都会分享技术心得~ 1.二元操作符 用户可以使用这些操作符对时…

Git Windows安装教程

Git简介 Git是目前世界上最先进的分布式版本控制系统。它的工作原理 / 流程如下: [ Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 ] Git的下载 去 Git 官网下载对应系统的软件了,下…

用39块钱的全志V851se视觉开发板做了个小相机,还可以物品识别、自动追焦!

用39块钱的V851se视觉开发板做了个小相机。 可以进行物品识别、自动追焦! 这个超低成本的小相机是在V851se上移植使用全志在线开源版本的Tina Linux与OpenCV框架开启摄像头拍照捕获视频,并结合NPU实现Mobilenet v2目标分类识别以及运动追踪等功能…并最终…

【Redis】redis配置与数据类型

Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf。在日常使用中,我们一般只会修改一些比较重要的参数。当然redis是支持很多配置参数的,感兴趣的可以自行了解所有的参数,有个大致印象即可。我们可以通过 …

dolphinscheduler集群部署教程

文章目录 前言一、架构规划二、配置集群免密登录1. 配置root用户集群免密登录1.1 hadoop101节点操作1.2 hadoop102节点操作1.3 hadoop103节点操作 2. 创建用户2.1 hadoop101节点操作2.2 hadoop102节点操作2.3 hadoop103节点操作 三、安装准备1. 安装条件2. 安装jdk3. 安装MySQL…

千兆宽带和全屋WiFi覆盖

文章目录 千兆宽带是否真的需要千兆宽带2.4G 和 5G2.4G 无法支持千兆带宽5G 的最高理论速率是依据 WiFi 标准而有不同值 WiFi 5 和 WiFi 6、WiFi 7WiFi 5 就可以支持千兆宽带WiFi 6 是目前千兆宽带的最佳性价比选择WiFi 7 还不是完全体,待观察后续 6GHz 频段支持情况…

linuxsocket阻塞recv怎么返回

recv是socket编程中最常用的函数之一,在阻塞状态的recv有时候会返回不同的值,而对于错误值也有相应的错误码,分别对应不同的状态,下面是我针对常见的几种网络状态的简单总结。首先阻塞接收的recv有时候会返回0,这仅在对…

“智能语音指令解析“ 基于NLP与语音识别的工单关键信息提取

“智能语音指令解析“ 基于NLP与语音识别的工单关键信息提取 1. 背景介绍1.1 场景痛点1.2 方案选型 2. 准备开发环境3. PaddleSpeech 语音识别快速使用4. PaddleNLP 信息抽取快速使用5. 语音工单信息抽取核心功能实现6. 语音工单信息抽取网页应用6.1 网页前端6.2 网页后端6.3 a…

C# Onnx yolov8-obb 旋转目标检测

目录 效果 模型信息 项目 代码 下载 C# Onnx Yolov8-OBB 旋转目标检测 效果 模型信息 Model Properties ------------------------- date:2024-02-26T08:38:44.171849 description:Ultralytics YOLOv8s-obb model trained on runs/DOTAv1.0-ms.ya…

解决:“出现问题,Outlook 无法设置你的账户”

原文:https://blog.iyatt.com/?p14213 1 问题描述 Office 专业版 2024 预览版 在 Outlook 输入邮箱后无法进一步配置登录信息(腾讯企业邮箱 Exchange 登录) 2 解决方法 通过控制面板里的邮箱设置可以正常添加登录,而且能…

【总第49篇】2.3深度学习开发任务实例(2)机器学习和深度学习的对比【大厂AI课学习笔记】

机器学习和深度学习都是用于图片分类任务的强大工具,但它们采用的方法和原理有所不同。下面我将分别解释这两种技术是如何应用于图片分类的,并着重讨论深度学习中的卷积概念。 机器学习在图片分类中的应用 传统的机器学习方法在进行图片分类时&#xf…

Chrome 浏览器代理插件 SwitchyOmega 安装与使用

前言 SwitchyOmega 是什么? Proxy SwitchyOmega 是 Chrome 和 Firefox 浏览器上的代理扩展程序,可以轻松快捷的管理和切换多个代理设置,支持HTTP、HTTPS、SOCKS4、SOCKS5等多种代理协议。 SwitchyOmega只是管理代理的,本身并不提供代理服务,需要配合节点使用。 下载 Swi…

用GGUF和Llama .cpp量化Llama模型

用GGUF和Llama .cpp量化Llama模型 什么是GGML如何用GGML量化llm使用GGML进行量化NF4 vs. GGML vs. GPTQ结论 由于大型语言模型(LLMS)的庞大规模,量化已成为有效运行它们的必要技术。通过降低其权重的精度,您可以节省内存并加快推理…

多模态表征—CLIP及中文版Chinese-CLIP:理论讲解、代码微调与论文阅读

我之前一直在使用CLIP/Chinese-CLIP,但并未进行过系统的疏导。这次正好可以详细解释一下。相比于CLIP模型,Chinese-CLIP更适合我们的应用和微调,因为原始的CLIP模型只支持英文,对于我们的中文应用来说不够友好。Chinese-CLIP很好地…

Linux使用Docker部署在线协作白板WBO并结合内网穿透发布公网远程访问

文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cpolar4. 配置WBO公网访问地址5. 公网远程访问WBO白板6. 固定WBO白板公网地址 前言 WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图。该白板对所有线上用…

【Vue3】插槽使用和animate使用

插槽使用 插槽slot匿名插槽具名插槽插槽作用域简写 动态插槽transition动画组件自定义过渡class类名如何使用animate动画库组件动画生命周期appear transition- group过渡列表 插槽slot 插槽就是子组件中提供给父组件使用的一个占位符父组件可以在这个占位符智能填充任何模板代…