决策树--CART回归树算法详解

1、介绍

(1)简介

CART(Classification and Regression Trees)回归树是一种基于决策树的机器学习算法,用于预

测连续型目标变量而不是离散型类别变量。

(2)生成过程

① 选择一个特征和相应的切分点,将数据集分为两个子集。

② 对每个子集递归地重复步骤1,直到满足停止条件。

③ 当达到停止条件时,叶节点的值可以是子集中目标变量的均值或其他统计量。

(3)示意图

(4)特点

① 每个叶子节点,都会输出一个预测值。

② 预测值一般是该叶子【所含训练样本】【在该节点上的输出】的【均值】。

(5)回归树模型可表示为:

2、树如何构建?

根据树的生成过程,可以引出如下三个问题:① 特征和相应的切分点如何选择?②停止条件如何

确定?③ 叶子节点的值代表什么? 

(1)划分节点如何选取--平方误差最小

不同的节点划分条件,对应着不同的树,也就对应着不同的损失,我们从中选取使得损失最小的树即可。举例如下:初始划分点选择身高<145,左子树划分点选择年龄<13,右子树划分点选择体重<47.5。

①初始划分点选择:从年龄15、身高145和体重42.5中随机选择一个。

 ② 左子树划分点选择:由于算出的损失值相等,从以下随机选择一个。

③ 右子树划分点选择:由于算出的损失值相等,从以下随机选择一个。 

(2)树的深度如何决定

① 确定叶子节点个数或者树的深度

② 子节点所包含的样本数(可以设置子节点小于2或者3,停止划分)

③ 给定精度

(3)叶子节点的值Cm如何定--取该节点所有样本yi的平均值

3、损失函数

4、优化求解

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

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

相关文章

在win10上cuda12+tensorrt8.6+vs2019环境下编译paddle2.6生成python包与c++推理库

paddle infer官方目前没有发布基于cuda12的c库&#xff0c;为此参考https://www.paddlepaddle.org.cn/inference/user_guides/source_compile.html实现cuda12的编译安装&#xff0c;不料博主才边缘好自己的paddle2.6&#xff0c;paddle官方已经发布了cuda12.0的paddle2.6框架。…

全视通发表“物联网赋能智慧医院建设”主题演讲获关注

邕州山河&#xff0c;神州沃壤。近日&#xff0c;备受瞩目的“2024广西医院和实验室建设学术年会暨净化专业委员会成立六周年庆典”在广西南宁圆满召开。作为智慧医康养整体方案提供商&#xff0c;全视通受邀参会并发表了主题为“物联网赋能智慧医院建设”的演讲&#xff0c;深…

1873_ssh scp的速度限制设置

全部学习汇总&#xff1a; GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 正常情况下&#xff0c;我们对于传输速度的要求自然是越快越好。不过凡事也有一个例外&#xff0c;比如我遇到的一个场景&#xff1a;经过了内网穿透的环境&a…

Web前端篇——ElementUI之el-scrollbar + el-backtop + el-timeline实现时间轴触底刷新和一键返回页面顶部

ElementUI之el-scrollbar el-backtop el-timeline实现时间轴触底刷新和一键返回页面顶部。 背景&#xff1a;ElementUI的版本&#xff08;vue.global.js 3.2.36&#xff0c; index.css 2.4.4&#xff0c; index.full.js 2.4.4&#xff09; 废话不多说&#xff0c;先看动…

卷积神经网络|猫狗分类系列--导入kaggle猫狗数据集

解决任何真实问题的重要一步是获取数据&#xff0c;Kaggle提供了大量不同数据科学问题的竞赛。 我们将从 https://www.kaggle.com/competitions/dogs-vs-cats/data 下载猫狗数据集&#xff0c;并对其进行一定的操作&#xff0c;以正确的导入到我们的计算机&#xff0c;为接下…

python+playwright 学习-1.环境准备与快速开始

前言 说到 web 自动化&#xff0c;大家最熟悉的就是 selenium 了&#xff0c;selenium 之后又出现了三个强势的框架Puppeteer、CyPress、TestCafe&#xff0c; 但这3个都需要掌握 JavaScript 语言&#xff0c;所以只是少部分人在用。 2020年微软开源一个 UI 自动化测试工具 P…

使用openssl 生成pfx格式证书时报错:unable to load certificates

问题现象包如下&#xff1a; 之前在centos上使用openssl部署证书服务器以及颁发证书的时候遇到的问题&#xff0c;在进行个人证书生成之后需要形成pfx格式证书&#xff0c;结果过程中报错了。网上类似资料比较少&#xff0c;做个记录。 生成pfx格式证书的命令&#xff1a; o…

Eureka的自我保护机制

一&#xff1a;Eureka的自我保护机制是什么&#xff1f; 保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。一旦进入保护模式&#xff0c;Eureka Server将会尝试保护其服务注册表中的信息&#xff0c;不再删除服务注册表中的数据&#xff0c;也就是不…

springCould中的Hystrix【下】-从小白开始【8】

目录 &#x1f9c2;1.熔断机制❤️❤️❤️ &#x1f32d;2.修改8001服务 ❤️❤️❤️ &#x1f95e;3.测试 ❤️❤️❤️ &#x1f953;4. 服务监控hystrixDashboard❤️❤️❤️ &#x1f32d;5.仪表盘❤️❤️❤️ &#x1f9c2;6.仪表盘的使用 ❤️❤️❤️ 1.熔断机…

LibVLC中播放、录制

video 1&#xff1a;首先官网下载vlc库 2&#xff1a;将下载的库添加到工程目录 3&#xff1a;添加功能接口 bool QtVLCWidget::playMedia(const char* url, PlayType type) {if (type PT_Url){m_media libvlc_media_new_location(url);}else if (type PT_LocalFile){m_med…

设计模式④ :分开考虑

一、前言 有时候不想动脑子&#xff0c;就懒得看源码又不像浪费时间所以会看看书&#xff0c;但是又记不住&#xff0c;所以决定开始写"抄书"系列。本系列大部分内容都是来源于《 图解设计模式》&#xff08;【日】结城浩 著&#xff09;。该系列文章可随意转载。 …

实验二 Linux文件编程

一、实验目的与任务 目的&#xff1a;了解掌握文件系统特点与功能&#xff0c;学会借助文件系统的功能函数进行编程。 任务&#xff1a;利用C语言指令编写程序调用文件系统函数&#xff0c;完成相应功能。 二、实验设备 装有Linux操作系统的计算机一台。 三、实验要求 1&…

电源芯片浪涌电流如何产生?该怎么测试?

对于电源芯片的设计和制造商来说&#xff0c;防止芯片受到电源干扰是非常重要的。为了保障芯片能正常稳定运行&#xff0c;浪涌测试无疑是必要的。本篇文章将全方位为你介绍浪涌电流如何产生以及如何测试的过程。 电源芯片浪涌电流的产生原因 1.开关电源切换和电压突变 在电源开…

Golang : Bson\Json互转

代码 package bson_jsonimport ("encoding/json""errors""fmt""gopkg.in/mgo.v2/bson""os""testing" )type User struct {Name string json:"name,omitempty" bson:"name,omitempty"CSD…

软件测试|MySQL主键约束详解:保障数据完整性与性能优化

简介 主键&#xff08;PRIMARY KEY&#xff09;的完整称呼是“主键约束”&#xff0c;是 MySQL 中使用最为频繁的约束。一般情况下&#xff0c;为了便于 DBMS 更快的查找到表中的记录&#xff0c;都会在表中设置一个主键。 MySQL是一种广泛使用的开源关系型数据库管理系统&am…

轻松实现Word转PPT!别说你还不知道这个办公神器!

在日常的学习和工作中&#xff0c;Microsoft Word和PowerPoint是我们最常使用的2款办公软件。Word&#xff0c;拥有出色的文字处理功能&#xff0c;让我们能够轻松编辑各种文档&#xff0c;而PowerPoint&#xff0c;可以让我们轻松地进行各种演示文稿的创建和播放。 在实际使用…

Unity 3D GridLayoutGroup3D 让子物体对齐,调整子物体间距

Unity 3D GridLayoutGroup3D 让子物体对齐&#xff0c;调整子物体间距 效果 介绍 GridLayoutGroup3D 脚本是一个用于在 Unity 3D 编辑器中创建 3D 网格布局的实用工具。主要用于在 Unity 编辑器中提供一种可视化的方式来设置和调整子物体的位置&#xff0c;同时支持删除脚本时…

BabylonJS 6.0文档 Deep Dive 摄像机(二):摄像机碰撞

摄像机、网格碰撞和重力 你玩过第一人称射击游戏(FPS)吗&#xff1f;在本教程中&#xff0c;我们将模拟FPS的摄影机移动&#xff1a;摄影机位于地板上&#xff0c;与地面碰撞&#xff0c;并可能与场景中的任何对象碰撞。 如何实现? 为了实现这一功能&#xff0c;我们必须执…

CodeWave智能开发平台--03--目标:应用创建--07供应商数据表格02

摘要 本文是网易数帆CodeWave智能开发平台系列的第10篇&#xff0c;主要介绍了基于CodeWave平台文档的新手入门进行学习&#xff0c;实现一个完整的应用&#xff0c;本文主要完成07供应商数据表格下 CodeWave智能开发平台的10次接触 CodeWave参考资源 网易数帆CodeWave开发…

Hello 2024(A~D,F1)

新年坐大牢 A - Wallet Exchange 题意&#xff1a;共有俩钱包&#xff0c;每回合从其中一个钱包中拿走一块钱&#xff0c;谁拿走最后一块钱谁赢。 思路&#xff1a;奇偶讨论即可。 // Problem: A. Wallet Exchange // Contest: Codeforces - Hello 2024 // URL: https://cod…