大数据-275 Spark MLib - 基础介绍 机器学习算法 集成学习 随机森林 Bagging Boosting

article/2025/6/24 14:17:43

点一下关注吧!!!非常感谢!!持续更新!!!

大模型篇章已经开始!

  • 目前已经更新到了第 22 篇:大语言模型 22 - MCP 自动操作 Figma+Cursor 自动设计原型

Java篇开始了!

  • MyBatis 更新完毕
  • 目前开始更新 Spring,一起深入浅出!

目前已经更新到了:

  • Hadoop(已更完)
  • HDFS(已更完)
  • MapReduce(已更完)
  • Hive(已更完)
  • Flume(已更完)
  • Sqoop(已更完)
  • Zookeeper(已更完)
  • HBase(已更完)
  • Redis (已更完)
  • Kafka(已更完)
  • Spark(已更完)
  • Flink(已更完)
  • ClickHouse(已更完)
  • Kudu(已更完)
  • Druid(已更完)
  • Kylin(已更完)
  • Elasticsearch(已更完)
  • DataX(已更完)
  • Tez(已更完)
  • 数据挖掘(已更完)
  • Prometheus(已更完)
  • Grafana(已更完)
  • 离线数仓(已更完)
  • 实时数仓(正在更新…)
  • Spark MLib (正在更新…)

在这里插入图片描述

集成学习

不指望单个弱模型“包打天下”,而是构造一簇互补的基学习器并让它们投票/加权,用“群体智慧”提升泛化能力、稳定性和鲁棒性。

基本定义

在这里插入图片描述
集成学习通过建立几个模型来解决单一预测问题,它的工作原理是生成多个分类器/模型,各自独立的学习和做出预测,这些预测最后结合成组合预测,因为优于任何一个单分类的做出预测。

集成学习分类

● 任务一:如何优化训练数据 - 主要用于解决欠拟合问题
● 任务二:如何提升泛化性能 - 主要用于解决过拟合问题

在这里插入图片描述
只要单分类器的表现不太差,集成学习的结果总是要好于单分类器的。

Bagging

集成原理

目标

把下面的圈和方块进行分类
在这里插入图片描述

采集不同的数据集

在这里插入图片描述

训练分类器

在这里插入图片描述

平权投票

获取最终结果
在这里插入图片描述

随机森林

在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类别是由所有树输出的类别的众数而定。
随机森林 = Bagging + 决策树
在这里插入图片描述
例如,如果你训练了5个树,其中有4个树的结果是True,1个树的结果是False,那么最终投票的结果就是True,随机森林构造过程中的关键步骤(M表示特征数目):
● 一次随机选出部分样本,有放回的抽样,重复N次(有可能出现重复的样本)
● 随机去选出 m 个特征,m << M,建立决策树

Boosting

基本概念

随着学习的积累从弱到强,简而言之:每新加入一个弱学习器,整体能力就会得到提升
在这里插入图片描述
代表算法:Adaboost、GBDT、XGBoost、LightGBM

Spark MLlib 的 GBT 相当于 “纯原生 Java/Scala 实现的 GBDT”,功能和速度距现代竞赛级框架(XGBoost / LightGBM / CatBoost)仍有差距。工业界常用以下两条路线把先进算法接进 Spark Pipeline:

  • XGBoost4J‑Spark:将每个 XGBoost worker 嵌入 Spark executor,天然支持 GPU / CPU 分布式;API 兼容 ML Pipeline,可与 VectorAssembler、ParamGridBuilder 协同工作。
  • LightGBM‑Spark(microsoft/synapseml):基于 LightGBM 的梯度直方、Leaf‑wise growth,训练速度较快,支持类别特征原生处理与分布式训练。

使用方式大体一致: 把 XGBoostClassifier 或 LightGBMRegressor 替换到 Pipeline 里,并确保 依赖 JAR 与 native lib 在所有 executor 可见。常见踩坑点:

  • 内存分配:XGBoost 需要 executor 拥有足够的 off‑heap;通过 spark.executor.memoryOverhead 和 spark.executor.cores 调整。
  • 数据格式:必须把特征向量转成 Dense 或 Sparse Vector; 并避免 StringIndexer 将类别特征过度 one‑hot,使维度爆炸。
  • GPU 调度:需要 spark.task.resource.gpu.amount=1 并在 YARN/K8s 上配置 spark.executor.resource.gpu.amount。

实现过程

训练第一个学习器

在这里插入图片描述

调整数据分布

在这里插入图片描述

训练第二个学习器

在这里插入图片描述

再次调整数据分布

在这里插入图片描述

学习器训练及数据分布调整

在这里插入图片描述

整体过程

在这里插入图片描述


http://www.hkcw.cn/article/hlfpKoPhpr.shtml

相关文章

贪心算法应用:线性规划贪心舍入问题详解

贪心算法应用&#xff1a;线性规划贪心舍入问题详解 贪心算法是一种在每一步选择中都采取当前状态下最优的选择&#xff0c;从而希望导致结果是全局最优的算法策略。在线性规划问题中&#xff0c;贪心算法特别是贪心舍入技术有着广泛的应用。下面我将全面详细地讲解这一主题。…

【LLM vs Agent】从语言模型到智能体,人工智能迈出的关键一步

目录 一、什么是 LLM&#xff1f;语言的天才&#xff0c;思维的起点 ✅ 特点小结&#xff1a; 二、什么是 Agent&#xff1f;智能的执行者&#xff0c;自主的决策者 ✅ 特点小结&#xff1a; 三、LLM 与 Agent 的关系&#xff1a;是工具&#xff0c;更是大脑 四、案例实战…

esp32 platformio lvgl_gif的使用和踩坑情况

踩坑一&#xff1a;白屏 不显示 开启custom内存这里 以及 gif显示 踩坑二&#xff1a;只有图片 不显示动态 没开时间 要打开这个时基 网站:转成c数组的官方网站 Image Converter — LVGL 以及显示代码&#xff1a;在setup里面调用 LV_IMG_DECLARE(my_gif);lv_obj_t *img;img…

华南沿海等地较强降雨持续 局地伴有强对流天气

今明两天(6月3日至4日),我国降雨主要出现在云南和华南沿海、东北地区等地,局地还可能伴有强对流天气。随着高压脊东移,北方大部气温逐渐升高,华北、黄淮等地高温天气将发展增多,南方多地5日起也将加入高温行列。昨天,冷空气南下导致南方强降雨区域南压至华南和云南一带…

黄金白银原油大涨 市场热度持续升温

黄金原油市场收盘大涨,贵金属与能源品种展现出强劲涨势。COMEX黄金期货和白银期货分别以显著涨幅收盘,其中黄金期货收涨2.74%,报3406.4美元/盎司;白银期货收涨5.76%,报34.93美元/盎司。原油市场同样表现抢眼,WTI原油期货收于每桶62.52美元,上涨1.73美元,涨幅为2.85%;布…

“蹦床外长”当选联大主席 外交新挑战

蹦床外长当选联大主席!一夜醒来,联合国大会发生了重大变化。周一下午,在纽约联合国总部举行的全体会议上,被称为“蹦床外长”的安娜莱娜贝尔伯克以167票当选为联合国大会主席。这距离她离开德国外长之位不到一个月。这份工作需要相当强的外交技巧,一些批评人士认为这是贝尔…

python依赖库管理工具

软件名称&#xff1a;Python依赖管理工具 版本&#xff1a;1.0适用系统&#xff1a;Windows 7/10/11&#xff0c;Python 项目环境管理辅助工具 开发语言&#xff1a;Python 3 PyQt5 开发者&#xff1a;Thebzk 软件功能简介&#xff1a; 本工具是专为Python 开发者设计的图…

labuladong刷题之前缀和与差分数组技巧(空间换时间)

Q1题目链接&#xff1a;https://leetcode.com/problems/range-sum-query-immutable/ leetcode 303 看到题目的第一思路&#xff1a; 代码随想录之后的想法和总结&#xff1a; 如何用 prefix 查询区间和&#xff1f; 如果你想查询&#xff1a;nums[left] nums[left1] ... …

基于爬取的典籍数据重新设计前端界面

1.BooksView(书籍列表页) 2.ClassicsView&#xff08;目录页&#xff09; 3.管理员端

Origin将杂乱的分组散点图升级为美观的带颜色映射的气泡图

图形初步了解 带颜色映射的气泡图&#xff0c;是一种含有三个变量的高级散点图&#xff0c;前两个变量分别为横纵坐标&#xff0c;第三个变量通过气泡的大小和颜色来呈现。在视觉上辅助读者直观地比较三个变量的关系。 在本例图中&#xff0c;通过pH、Group和Solubility三个指…

初识Linux指令(笔记2)

&#xff08;1&#xff09;man指令&#xff08;重要&#xff09; Linux的命令有很多参数&#xff0c;我们不可能全记住&#xff0c;我们可以通过查看联机手册获取帮助。访问Linux手册页的命令是man 语法: man [选项] 命令 &#xff08;2&#xff09;cp指令&#xff08;重要&…

w374预报名管理系统设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…

JAVA-springboot整合Mybatis

SpringBoot从入门到精通-第15章 MyBatis框架 学习MyBatis心路历程 2022年学习java基础时候&#xff0c;想着怎么使用java代码操作数据库&#xff0c;咨询了项目上开发W同事&#xff0c;没有引用框架&#xff0c;操作数据库很麻烦&#xff0c;就帮我写好多行代码&#xff0c;就…

Torch Geometric GCN训练心得

我训练的是直推式的图卷积神经网络GCN 对于直推式GCN训练&#xff0c;控制参数量是非常重要的&#xff0c;我的网络大小30个节点&#xff1a; 不像归纳式学习训练&#xff0c;可以通过提升样本数量来承受巨大的模型参数量&#xff0c;直推式学习一次训练的目标就一个样本&…

张雪峰宣布暂停直播两个月 深情感言引共鸣

张雪峰宣布暂停直播两个月 深情感言引共鸣。5月31日晚,有网友发布视频称张雪峰结束了2025届高考季的直播,并宣布将暂停直播两个月。在直播中,张雪峰表示这个行业不容易,因为他触动了太多人的利益,有些事情不能说得太直白。他希望能在8月1日恢复直播,如果不行的话,9月1日…

线程池详细解析(一)

java中的线程池是运用场景最多的并发框架&#xff0c;几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中&#xff0c;合理的使用线程池能够带来三个好处。 1. 降低资源消耗&#xff1a;频繁的创建线程和销毁线程会产生不少的资源上的消耗&#xff0c;通过重…

韩国大选今日开始投票 五候选人竞逐总统

韩国第21届总统大选于当地时间6月3日6时正式开始,全国共设有14295个投票站。未参加提前投票的选民凭身份证件前往指定投票站即可参与投票,投票将于当日20时结束。本次大选共有7位候选人登记,但其中两位宣布退出并支持国民力量党候选人金文洙。因此,选民将从以下五位候选人中…

米奇盖顿:音乐架起中美交流桥梁 纯粹情感共鸣

米奇盖顿在湖南卫视《歌手2025》的舞台上演唱完《If I Were a Boy》后,不禁潸然泪下。这位来自美国得克萨斯州的乡村音乐女歌手,曾在2021年获得格莱美最佳乡村独唱表演提名,成为首位提名该奖项的黑人女歌手。在中国观众毫无保留的情感反馈中,她感受到了一种久违的真诚。在美…

字节跳动社招面经 —— BSP驱动工程师(6)

接前一篇文章&#xff1a;字节跳动社招面经 —— BSP驱动工程师&#xff08;5&#xff09; 本文内容参考&#xff1a; 嵌入式硬件平台修改启动地址-CSDN博客 特此致谢&#xff01; 上一回开始针对于“嵌入式充电站”发的一篇文章字节跳动社招面经——BSP驱动工程师中的面试题…

检索器组件深入学习与使用技巧 VectorStoreRetriever 检索器

1. VectorStoreRetriever 检索器 VectorStoreRetriever 是 BaseRetriever 的子类&#xff0c;这是一个专门针对向量数据库的基础检索器&#xff0c;在 VectorStoreRetriever 的内部实现了 _get_relevant_documents() 方法&#xff0c;还定义了单独的属性&#xff1a; vectors…