四、分类算法 - 决策树

目录

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://xiahunao.cn/news/2813568.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习:朴素贝叶斯算法(Python)

一、朴素贝叶斯算法的实现 naive_bayes_classifier.py import numpy as np import collections as cc # 集合的计数功能 from scipy.stats import norm # 极大似然估计样本的均值和标准方差 from data_bin_wrapper import DataBinsWrapperclass NaiveBayesClassifier:"…

基础算法(二)( 枚举)

1.枚举算法介绍: 枚举算法是一种基本的算法思想,它通过穷举所有可能的情况来解决问题。它的基本思想是将问题的解空间中的每个可能的解都枚举出来,并进行验证和比较,找到满足问题条件的最优解或者所有解。枚举算法适用于问题规模…

Nginx ---- 高性能得WEB服务端(三)

一、重写功能 rewrite Nginx服务器利用 ngx_http_rewrite_module 模块解析和处理rewrite请求,此功能依靠 PCRE(perl compatible regular expression),因此编译之前要安装PCRE库,rewrite是nginx服务器的重要功能之一,重写功能(r…

基于springboot+vue的学科平台系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Redis高可用三主三从集群部署(三种方式部署/18个节点的大集群)

文章目录 🔊博主介绍🥤本文内容使用宝塔面板搭建集群规划配置验证 使用docker搭建使用脚本搭建规划防火墙端口配置脚本redis.conf配置文件执行过程 📢文章总结📥博主目标 🔊博主介绍 🌟我是廖志伟&#xff…

【递归】【回溯】Leetcode 112. 路径总和 113. 路径总和 II

【递归】【回溯】Leetcode 112. 路径总和 113. 路径总和 II 112. 路径总和解法:递归 有递归就有回溯 记得return正确的返回上去 113. 路径总和 II解法 递归 如果需要搜索整棵二叉树,那么递归函数就不要返回值 如果要搜索其中一条符合条件的路径&#xff…

AI入门笔记(二)

紧接着上一篇幅,点火条件的图形表示如下。 利用单位阶跃函数可表示点火的式子:yu(w1x1w2x2w3x3-θ) 因为u表示的是单位阶跃函数,那么一般化点火的式子可以表示为:ya(w1x1w2x2w3x3-θ),此处的a表示激活函数&#xff0…

笔记:GO1.19 带来的优化(重新编译juicefs)

## 背景 go编写的应用程序(juicefs)在k8s(docker)中运行,时不时出现 OOM Killed。 ## 分析 发现某些应用使用juicefs会导致内存使用飙升; k8s的pod给的内存资源:request 2G,limit…

ui设计:利用即使设计设计出漂亮样式

目录 一、基本操作 二、具体介绍 6-1 填充图片 6-2 填充色 6-3 图标 右边栏基础设置 右边栏导出​编辑 一、基本操作 二、具体介绍 6-1 填充图片 选择其一图片填充 6-2 填充色 6-3 图标 右边栏基础设置 右边栏导出

面试redis篇-12Redis集群方案-分片集群

原理 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决: 海量数据存储问题高并发写的问题 使用分片集群可以解决上述问题,分片集群特征: 集群中有多个master,每个master保存不同数据每个master都可以有…

腾讯云4核8g的服务器能承受多少并发?

腾讯云4核8G服务器支持多少人在线访问?支持25人同时访问。实际上程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素,假设公网带宽太小,流量直接卡在入口,4核8G配置的CPU内存也会造成计算…

ADS-B Ground Receiver Radarcape

目录 Radarcape ADS-B MLAT Receiver Web Browser User Interface Radarcape Technical Data Radarcape Software Features Radarcape Basics Radarcape ADS-B MLAT Receiver Radarcape is a professional ADS-B receiver made for 24/7 operation. High performance rec…

AI赚钱套路总结和教程

最近李一舟和Sora 很火,作为第一批使用Sora赚钱的男人,一个清华学美术的跟人讲AI,信的人太多了,钱太好赚了。3年时间,李一舟仅通过卖课就赚了1.75亿元,其中《每个人的人工智能课》收入2786万元,…

【Flink】Flink 中的时间和窗口之窗口(Window)

1. 窗口的概念 Flink是一种流式计算引擎,主要是来处理无界数据流,数据流的数据是一直都有的,等待流结束输入数据获取所有的流数据在做聚合计算是不可能的。为了更方便高效的处理无界流,一种方式就是把无限的流数据切割成有限的数…

XINDOO的2023年总结

这篇文章是我的第十年年终总结,本来想很正式的写,由于元旦偷懒,春节又特种式狂奔四个城市给自己和妹妹订婚,横跨几千公里,几乎一半的假期都在路上。我23年的年终总结难产至今,最后赶在2月结束前开始动笔。 …

vscode与vue/react环境配置

一、下载并安装VScode 安装VScode 官网下载 二、配置node.js环境 安装node.js 官网下载 会自动配置环境变量和安装npm包(npm的作用就是对Node.js依赖的包进行管理),此时可以执行 node -v 和 npm -v 分别查看node和npm的版本号: 配置系统变量 因为在执…

Nginx -3

接着上文写 七. 重写功能 Nginx 服务器利用 ngx_http_rewrite_module 模块解析和处理 rewrite 请求,此功能依靠 PCRE (perl compatible regular expression),因此编译之前要安装PCRE库,rewrite 是 nginx 服务器的重要功能之一,用…

Flask基础学习4

19-【实战】问答平台项目结构搭建_剪_哔哩哔哩_bilibili 参考如上大佬的视频教程&#xff0c;本博客仅当学习笔记&#xff0c;侵权请联系删除 问答发布的web前端页面实现 register.html {% extends base.html %}{% block head %}<link rel"stylesheet" href&q…

LeetCode--代码详解 230. 二叉搜索树中第K小的元素

230. 二叉搜索树中第K小的元素 题目 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 个最小元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1 输出&#…

MFC web文件 CHttpFile的使用初探

MFC CHttpFile的使用 两种方式&#xff0c;第一种OpenURL&#xff0c;第二种SendRequest&#xff0c;以前捣鼓过&#xff0c;今天再次整结果发现各种踩坑&#xff0c;好记性不如烂笔头&#xff0c;记录下来。 OpenURL 这种方式简单粗暴&#xff0c;用着舒服。 try {//OpenU…