决策树oo

news2024/11/16 7:24:10


决策树学习的算法通常是一个递归地选择最优特征(选择方法的不同,对应着不同的算法),并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建

步骤(译)

从根节点开始
计算所有可能特征的信息增益,并选择信息增益最高的特征
根据选择的特征对数据集进行拆分,并创建树的左右分支
继续重复分割过程,直到满足停止条件:
当一个节点100%是一个类时当分割节点时
将导致树超过最大深度
额外分割的信息增益小于阈值
当一个节点中的样例数量低于阈值时

简单实例

# 导入所需的库
from sklearn.tree import DecisionTreeClassifier
from sklearn import tree
import matplotlib.pyplot as plt
import numpy as np

# 解决中文乱码问题
plt.rcParams['font.sans-serif']=['SimHei'] 
# 创建训练数据集
X = np.array([[0, 150], [0, 200], [1, 160], [1, 190], [0, 180],
              [1, 140], [1, 210], [0, 175], [0, 220], [1, 165],
              [1, 155], [0, 185], [0, 195], [1, 170], [1, 200]])
y = np.array([0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1])

# 创建深度等于3的决策树模型
model = DecisionTreeClassifier(max_depth=3)

# 训练模型
model.fit(X, y)

# 可视化生成的决策树
plt.figure(figsize=(12, 8))
tree.plot_tree(model, filled=True, feature_names=["颜色", "重量"], class_names=["苹果", "橙子"])
plt.title("决策树示例")
plt.show()

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

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

相关文章

git切换远程仓库源步骤

git切换远程仓库源步骤: 第一步:git remote -v 查看当前远程仓库源: 第二步:git remote rm origin删除远程仓库源; 第三步:git remote add origin http://newURL.git 添加新的远程仓库源地址&#xff1b…

Operator 开发实践 四 (WebHook)

1. WebHook介绍 我们知道访问Kubernetes API有好几种方式,比如使用kubectl命令、使用client-go之类的开发库、直接通过REST请求等。不管是一个使用kubectl的真人用户,还是一个Service Account,都可以通过API访问认证,这个过程官网…

AI机器视觉多场景应用迸发检测活力,引领食品及包装行业新发展

随着食品安全意识的广泛传播,人们对食品质量和安全的要求越来越高,众多食品包装厂商加速产线数智化转型,迫切需要高效、准确且智能化的检测技术。 在现代食品及包装行业的自动化生产中,涉及到各种各样的识别、检测、测量等环节&a…

LabVIEW中管理大型数据

LabVIEW中管理大数据 LabVIEW的最大优势之一是自动内存管理。这种内存管理允许用户轻松创建字符串、数组和集群,而无需C/C用户经常担心。但是,这种内存管理设计为绝对安全,因此数据被非常频繁地复制。这通常不会造成任何问题,但是…

Linux下使用openssl制作证书

openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证…

Go语言和Python语言哪个比较好?

目录 1、性能 2、开发效率和易用性 3、社区支持 4、语法 5、其他因素 总结 Go语言和Python语言都是非常优秀的编程语言,它们各自具有不同的优势和适用场景。在选择哪种语言更适合您的项目时,需要考虑多个方面,包括性能、开发效率、可读…

软文为什么成为企业降本增效的营销利器?

如今企业营销面临的重大课题之一就是如何降低成本,增强宣传效果,传统营销模式集中于线下,不仅要花费大量的时间、金钱成本,还需要花费大量的人力成本。而网络技术的发展,使企业营销的方式更加多样化,其中软…

python tk展示图片

from tkinter import * from PIL import ImageTk, Imageroot Tk() root.title("展示图片")# 打开图片 image Image.open("DSC_2040.jpg") # 调整图片大小 image image.resize((300, 300), Image.ANTIALIAS) # 创建图像对象 img ImageTk.PhotoImage(ima…

P2181 对角线

#include<bits/stdc.h> using namespace std; unsigned long long n,ans; int main() {scanf("%lld",&n);ansn * (n-1) / 2 * (n-2) / 3 * (n-3) / 4;printf("%lld\n",ans);return 0; }

UE 插件模块引用

如Plugons中的模块A想要引用模块B&#xff1a; 1、模块A中的.uplugin文件加入↓ 2、模块A中的.Build.cs文件加入↓ 3、在模块A需要用到模块B的地方直接include 4、重新generate Project 5、重新编译 注意两个模块之间不能循环引用

AutoSAR入门:软硬件开发环境搭建概览

1、学习方向 AutoSAR技术是实践性的&#xff0c;光读文档是不行的。一边学习理论知识一边进行实际操作&#xff0c;可能最容易理解AutoSAR技术。 2、S32K144 AUTOSAR工具包&#xff1a;SIP包 AutoSAR软件工具包 SIP包&#xff1a; 1&#xff09;S32K14x的SIP包 软件包含&…

外包公司干了不到3个月,我离职了...

外包公司干了不到3个月&#xff0c;我离职了…当项目快要做完的时候&#xff0c;我就担心自己是不是要被“释放了”&#xff0c;直到外包HR&#xff0c;wx找我聊项目&#xff0c;我就不担心了&#xff0c;结果确实是要被“释放”。 从杭州到深圳&#xff0c;来的也突然&#x…

如何有效跟踪项目进展以取得成功?

据项目管理协会报告&#xff0c;大约有 15%的项目被认为是彻底失败的。而那些成功的项目中&#xff0c;近一半未能按时完成&#xff0c;43%的项目超出预算&#xff0c;32%的项目在产品交付的某些方面存在不足。 时间、资金和产品是项目管理中最常见的三个绊脚石&#xff0c;那…

腾讯云优惠券是什么?最新优惠券如何领取?

腾讯云作为国内领先的云服务提供商&#xff0c;为了回馈用户&#xff0c;经常推出各种优惠券活动&#xff0c;让用户在购买云产品和服务时享受更多的折扣和优惠。本文将为大家介绍腾讯云优惠券是什么&#xff0c;以及如何领取最新的优惠券。 一、腾讯云优惠券是什么&#xff1f…

kibana操作elasticsearch(增删改查)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

异步线程池

1、初始化线程的 4 种方式 1&#xff09;继承 Thread package com.search.thread;import java.util.concurrent.*;public class ThreadTest {public static void main(String[] args) throws ExecutionException, InterruptedException {System.out.println("main......…

怎样做好接口自动化测试?

今天介绍一下在接口自动化测试相关实践中总结到的一些经验。 接口自动化测试的目的 自动化测试的主要目的是用来回归测试的&#xff0c;当代码有变化时&#xff0c;有可能影响不应该变化的逻辑&#xff0c;这个时候为了确认这种情况&#xff0c;就需要进行回归测试。有时候回…

关于W5500网卡使用过程的部分问题记录

某个项目中用到了W5500这种自带网络协议栈的网卡芯片&#xff0c;由于该项目开发时间很紧&#xff0c;就临时网上买了一些模块拼凑到了一套系统&#xff0c;经过验证果真这种拼积木的方法只能用在学生实验开发中&#xff0c;真不能拿来做工程应用&#xff0c;硬件太不稳定很容易…

VMware添加Ubuntu虚拟机-Ubuntu系统的安装-物联网开发

一、前言 在物联网开发中&#xff0c;我们需要使用Linux系统或Ubuntu系统&#xff0c;最近我将会分享一些关于Ubuntu系统的知识和指令&#xff0c;并归纳到我的Ubuntu系统开发与维护专题&#xff0c;希望能给大家在物联网开发中提供帮助。 本文我们讲述使用VMware 16 Pro添加Ub…

给cmd控制台程序 套壳 美化

给cmd控制台程序套壳美化&#xff0c;可以获取程序的标准输出和报错信息。 # _*_ coding: utf-8 _*_ """ 控制台程序启动器&#xff0c;杜绝黑窗口。 Time: 2023/10/18 15:28 Author: Jyun Version: V 0.1 File: main.py Blog: https://ctrlcv.…