《Spark机器学习》通读

大数据技术学习指南:从基础到实战的全景解析 大数据技术作为现代数据处理的核心,其核心原理基于分布式计算与存储架构,通过Hadoop、Spark等技术栈实现海量数据的高效处理。理解大数据的5V特性(体量、速度、多样性、准确性、价值)是掌握技术方案的基础。在实际应用中,大数据技术广泛应用于电商用户行为分析、实时风控系统等场景,显著提升数据处理效率与业务洞察力。本文结合Hadoop生态与Spark核心技术,提供从理论到实践的完整学习路径,帮助开发者快速构建大数据能力体系。 阅读详情

title: 《Spark机器学习》通读
date: 2019-09-18 17:20:35
categories:

  • 技术
    tags:
  • 整理

最近,花了三天时间通读了Nick Pentreath的著作《Spark机器学习》。醍醐灌顶,有酣畅淋漓之感,记录、梳理该书的核心内容,避免以后自己遗忘。

image-20190918210853276

因为我是做软件工程出身,擅长应用开发、功能实现。对于机器学习算法理解还在学习、加深阶段,该书最大的优点是,实践性很强,每段代码都可以运行(排除极个别代码疏忽错误);不足之处在于理论讲解不够深入。

在郑捷的《机器学习-算法原理与编程实践》一书中,说到,“基础决定高度”,我也非常认可这句话。但是,如果没有高度,从我的角度而言,不知道从哪里夯实基础,况且单纯的数学公式推导过于枯燥,没有成就感,很容易磨灭兴趣。所以我先“不求甚解”,把机器学习的算法先应用起来,把“代码”跑起来,看看效果,再一层层刨根问底。

第一章 环境搭建

主要介绍 Spark环境搭建,略。

第二章&第三章 数据准备工作&特征介绍

  1. 个性化与推荐的联系

    推荐是个性化的一种,推荐通常是显式呈现内容,而个性化偏向隐形,比如搜索等场景。

  2. 机器学习模型的种类

    1. 监督学习

      已标记的数据来学习。

    2. 无监督学习

      学习过程不需要标记。

  3. 机器学习系统组成

    用户行为 -> 数据收集 -> 数据清理与转化 -> (模型训练 -> 模型测试 )-> 模型部署与整合 -> 推荐给用户。

    其中,模型训练 -> 模型测试,可以迭代多次。

    注意:在模型部署与整合后,同时监控模型准确度相关指标和业务指标。

  4. 特征

    • 数值特征
    • 类别特征
      • 名义变量,如 职业:程序员、律师
      • 有序变量,有内在联系。如级别评价,一星,二星。
    • 文本特征
      • 词袋(分词->删除停用词->提取词干->向量化)
    • 其他特征 如图像、音频、地理位置等
    • 派生特征
      • 可以把时间,按区间转变为 清晨、上午、中午等类别特征。

    特征的正则化

    正则转化(减去均值)和标准化(缩放到0-1)

第四章 推荐引擎

推荐模型的分类
  • 基于内容的过滤

    • 利用物品内容or用户的相似度进行推荐
  • 协同过滤

    • “众包只会”的体现。
    • 根据相似用户的喜好计算各个物品的评分,推荐给该用户。
  • 矩阵分解

    • 显示矩阵分解

      用户因子矩阵(U,K) 和 物品因子矩阵 (K,I )的点积来表示 评级矩阵(U,I)

    • 隐式矩阵分解

    • 最小二乘法(ALS)

      固定用户因子矩阵or物品因子矩阵,用固定的矩阵和评级更新另一个矩阵。

      之后,将被更新的矩阵固定,更新另一个。

      迭代上述步骤,直至模型收敛。

推荐模型效果的评估
  • 均方差(MSE):各平方误差的和与总数目的商。
  • 均方根误差(RMSE):对于·MSE取平方根。
  • K值平均准确率(MAPK):前K个结果与实际相关的结果进行比较。

第五章 分类模型

分类模型的种类
  • 线性模型

    1. 逻辑回归(sigmod):损失函数式逻辑损失。

    2. 线性支持向量机(SVM):损失函数为合页损失。

      最大间隔分类器,试图训练一个使得类别尽可能分开的权重向量。

  • 决策树

    1. 每一步骤中评估特征分裂的信息增益,最后选择分割数据集最优的特征。

      信息增益通过计算节点不纯度减去分割后的两个子节点不纯度的加权和。

      评估方法:基尼不纯 和 熵

    2. 适用于集成方法,多个决策树,成为决策树森林。

  • 朴素贝叶斯模型

    假设: 每个特征分配到某个类别的概率是独立分布的。

    基于假设,属于某个类别的概率表示为若干概率乘积的函数,其中这些概率包括某个特征在给定某个类别条件下出现的概率(条件概率),以及该类别的概率(先验概率)。

评估分类模型的性能

  • 预测的正确率和错误率

    训练样中被正确分类的数目除以总样本数 为 正确率。

    反之,为错误率。

  • 准确率与召回率
    • 准确率

      真阳性的数目除以真阳性和假阳性的总数。

      真阳性:被正确预测的类别为1的样本。

      假阳性:被错误预测为类别为1的样本。

    • 召回率(与准确率是负相关)

      真阳性的数目除以真阳性与假阳性的和

      假阴性:别错误预测为0的样本。

    • 准确率-召回率(召回率为x)的曲线(PR)

    • ROC曲线与AUC

      • 真阳性率(TPR)

        真阳性的样本数除以真阳性和假阳性样本数之和。

      • 假阳性率(FPR)

        假阳性的样本数厨艺假阳性和真阳性的样本数之和。

      ROC是真阳性率与假阴性率的图形化解释。

      ROC下的面积为AUC。

第六章 回归模型

回归模型的种类
  • 线性模型(最小二乘回归)

    • 损失函数为平方损失

    • 正则化

      L1正则化LASSO;L2正则化为岭回归。

  • 决策树模型

第七章 聚类模型

聚类模型的类型
  • K-均值聚类

    • 模糊K-均值
  • 混合模型

    模糊K-均值的扩展,混合模型假设样本的数据是由某种概率分布产生的。

  • 层次聚类

    • 凝聚聚类
    • 分裂式聚类
评估聚类模型的性能
  • 内部评价指标

    • WCSS
    • Davies-Bouldin指数
    • Dunn指数
    • 轮廓系数
  • 外部评价指标

    使用带标注的数据进行评估

    • Rand measure
    • F-measure
    • 雅卡尔系数(Jarcard index)

第八章 数据降维

降维方法从一个D维的数据输入提取出K维表示,K一般远远小于D。

被抽取的维度表示应该仍能捕捉大部分原始数据的变化和结构。

目的:缩减维度可以排除数据中的噪音并保留数据原有的隐含结构。

降维方法的种类
  • PCA(主成分分析)
  • SVD(奇异值分解)
  • 聚类方法也可以用来降维

第九章 高级文本处理技术

特征抽取
  • 短语加强表示
    • 词袋模型
    • 词频-逆文本频率(TF-IDF)
  • 特征哈希
  • Word2Vec分布向量表示

第十章 Spark Stream 实时机器学习

  • 流处理
    • 输入源
    • 转换
    • 执行算子
    • 窗口算子
  • 缓存与容错
  • 应用创建&在线学习

后记:

整理过程中,发现该书已经发布第二版,果断下单。

实战|mitmproxy+Playwright 拦截篡改Cloudflare验证流程,实现无感爬取(2026实测可用) 2026年对抗Cloudflare,别再死磕滑块、轨迹、算法。高伪装浏览器 + 中间层劫持篡改验证流程Playwright + mitmproxy = 无感过CF这篇是纯实战、无废话、可直接上线的方案。你只要把目标网站、cf_clearance填进去,就能跑通。 阅读详情

相关推荐

用大白话讲解Carplay(原创)

用大白话讲解Carplay: Carplay是美国苹果公司开发的一套服务,用户通过这套服务可以将iPhone与车载系统连接,然后在车载大屏上操作使用iPhone手机。个人理解,Carplay不能叫车载系统,不是操作系统,只能算一种服务。让你在车上的大屏上使用iPhone,这样用起来更方便,不需要在手机小屏幕上操作。基于这一点,有些人也说Carplay就是个投屏的功能,将手机屏幕投屏到了车机大屏上。可以简单这么理解,但是并不只是投屏这么简单,如果只是投屏的话,车子只是起到了一个显示器的功能,其实不止,手机和

cici2013的专栏 2万+

[Spark机器学习]基于Spark 2.0 机器学习之推荐系统实现

1 什么是ALS  ALS是交替最小二乘(alternating least squares)的简称。在机器学习中,ALS特指使用交替最小二乘求解的一个协同推荐算法。它通过观察到的所有用户给商品的打分,来推断每个用户的喜好并向用户推荐适合的商品。举个例子,我们看下面一个8*8的用户打分矩阵。   这个矩阵的每一行代表一个用户(u1,u2,…,u8)、每一列代表一个商品(v1,v2,…,v8)、用户的

图解AI 1万+

【Hadoop】开发插件安装

前言 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 Eclipse的插件机制是轻型软件组件化架构。在客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java...

weixin_44039347的博客 3207

spark机器学习笔记:(一)Spark Python初探

声明:版权所有,转载请联系作者并注明出处  http://blog.youkuaiyun.com/u013719780?viewmode=contents         Apache Spark是一个分布式计算框架,旨在简化运行于计算机集群上的并行程序的编写。该框架对资源调度,任务的提交、执行和跟踪,节点间的通信以及数据并行处理的内在底层操作都进行了抽象。它提供了一个更高级别的API用于处理分

风雪夜归子 3万+

HFSS与AI融合:智能算法如何重塑天线设计流程

本文探讨了HFSS与AI融合如何通过智能算法革新天线设计流程。在5G/6G通信时代,AI技术如机器学习和遗传算法显著提升了高频电磁场仿真效率,将传统设计周期从数周缩短至数小时,并优化了天线性能。文章详细介绍了AI与HFSS的集成策略、关键技术突破及典型应用案例,展示了智能算法在天线设计中的巨大潜力。

weixin_29035147的博客 775

【大模型】大模型知识蒸馏 综述解读(Knowledge Distillation of Large Language Models)

知识蒸馏的(论文)方法总结。归纳了通过数据(如指令、对话、多模态)和训练方法(SFT、RL、数据增强),将复杂技能(如对齐、工具使用、多模态)蒸馏到开源模型的核心框架,附典型模型示例(如Alpaca、LLaVA)。

songxia928_928的博客 4334

《Spark机器学习》笔记——Spark Streaming 在实时机器学习中的应用

此前我们一直讨论的是批量数据处理,也就是我们所有的分析、特征提取和模型训练都被应用于一组固定不变的数据。这很好地适用于Spark对RDD的核心抽象,即不可变的分布式数据集。尽管可以使用Spark的转换函数和行动算子从原始的RDD创建新RDD,但是RDD一旦创建,其中包含的数据就不会改变。 我们的注意力一直集中于批量机器学习模型,训练模型的固定训练集通常表示为一个特征向量(在监督学习模型的例子中是

陈杰 9892

Windows——Nessus安装(无限制)

Nessus手把手图文安装,解除ip限制~

网安小白的博客 9448

《Spark机器学习》笔记——Spark应用于数据降维

我们将学习无监督学习模型中降低数据维度的方法。不同于我们之前学习的回归、分类和聚类模型,降维方法并不是用来做模型预测的。降维方法从一个D维的数据输入提取出一个远小于D的k维表示。因此,降维本身是一种预处理方法,或者说特征转换的方法。降维方法中最重要的是:被抽取出的维度表示应该仍能捕捉大部分的原始数据的变化和结构。这源于一个基本思想:大部分数据源包含某种内部结构,这种结构一般来说应该是未知的(常称为

陈杰 3020

YOLOv11改进 | 损失函数改进篇 | MPDIoU、InnerMPDIoU助力细节涨点(二次创新 + 代码解析)

本文为读者详细介绍了YOLOv11模型的最新改进,带来的改进机制是最新的损失函数MPDIoU和融合了最新的Inner思想的InnerMPDIoU(效果打爆之前的所有的损失函数提升检测精度和处理细节方面的作用。通过深入探讨MPDIoU和InnerMPDIoU(全网首发)的工作原理和实际代码实现,本文旨在指导读者如何将这些先进的损失函数技术应用到YOLOv11模型中,以提高其性能和准确性。文章内容涵盖从理论基础、代码实现,到实际教你如何添加本文的机制到你的模型中。

Snu77的博客 4023

【华为OD机试真题】439、精准核酸检测 | 机试真题+思路参考+代码解析 (C++、Java、Py、C语言、JS)

题目描述 >为了达到新冠疫情精准防控的需要,为了避免全员核酸检测带来的浪费,需要精准圈定可能被感染的人群现在根据传染病流调以及大数据分析,得到了每个人之间在时间、空间上是否存在轨迹的交叉。现在给定一组确诊人品编号(X1 X2 X3.....n)在所有人当中,找出哪些人票要进行核酸检测,输出需要进行核酸检测的人数。(注意:确诊病例自身不需要再做核酸检) >  需要进行核酸检测的人,是病毒传播链条上的所有人员,即有可能通过确诊病例所能传播到的所有人   例如:A是确诊病例,A和B有接触、B和

KJ.JK 1433

《深度实践Spark机器学习》第9章 构建Spark ML回归模型

发现一个好地方:https://www.jianshu.com/p/da2be3876b009.2 数据加载 http://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset # 查看前3行 head -3 hour.csv # 查看记录总数 wc -l hour.csv # 查看文件列数 cat hour.csv | head -1 |...

weixin_39423653的博客 1169

uniapp [安卓苹果App端] - 详细实现手机蓝牙连接打印机及打印票据小票/标签/面单/热敏小票订单/快递单等通用兼容适配解决方案,Uniapp对接蓝牙打印机支持各种主流品牌及打印指令,强悍插件

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果app,蓝牙打印机,uniappAPP实现通过蓝牙连接打印机打印,uniapp蓝牙连接打印机,安卓蓝牙打印插件,蓝牙打印机,蓝牙ble低功率及高功率打印机小票、标签、面单打印,手机PDA蓝牙打印插件,连接蓝牙打印机,蓝牙连接,打印文本、图片、条码、二维码,兼容斑马打印机、佳博打印机,TSC打印机,免费蓝牙打印机组件,蓝牙打印条码,蓝牙打印机连接,热敏蓝牙打印机,便携式打印机,打印机搜索不到,连接失败,发送打印命令

🏆 前端领域优质创作者 1万+

Spark:The Definitive Guide--读书小结(四)

个人读后小结,如有不对,欢迎批评指正前言第Ⅰ部分 大数据与Spark概述第Ⅱ部分 结构化API--DataFrame、SQL和Dataset第Ⅲ部分 低级API第Ⅳ部分 生产与应用第Ⅴ部分 流处理第Ⅵ部分 高级分析与机器学习第Ⅶ部分 生态系统 前言 大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主

Java_Man_China的博客 596

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Spark:The Definitive Guide--读书小结(三)

个人读后小结,如有不对,欢迎批评指正前言第Ⅰ部分 大数据与Spark概述第Ⅱ部分 结构化API--DataFrame、SQL和Dataset第Ⅲ部分 低级API第Ⅳ部分 生产与应用第Ⅴ部分 流处理第Ⅵ部分 高级分析与机器学习第Ⅶ部分 生态系统 前言 大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主

Java_Man_China的博客 622

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spark:The Definitive Guide--读书小结(一)

个人读后小结,如有不对,欢迎批评指正前言第Ⅰ部分 大数据与Spark概述第Ⅱ部分 结构化API--DataFrame、SQL和Dataset第Ⅲ部分 低级API第Ⅳ部分 生产与应用第Ⅴ部分 流处理第Ⅵ部分 高级分析与机器学习第Ⅶ部分 生态系统 前言 大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主

Java_Man_China的博客 937

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Databricks官方reference-apps入门指南:Apache Spark大数据分析从零开始

想快速上手 **Apache Spark大数据分析**,却苦于找不到完整的实战范例?Databricks 官方开源的 **reference-apps**(Spark 参考应用)正是为你准备的"最佳陪练"。这套由 Databricks 团队维护的项目,把真实世界的大数据场景拆解成可运行的示例代码,覆盖日志分析、实时流处理、机器学习与时间序列数据,让新手可以照着案例一步步学会用 Spark 处理海量

gitblog_00640的博客 693

Spark:The Definitive Guide--读书小结(五)

个人读后小结,如有不对,欢迎批评指正前言第Ⅰ部分 大数据与Spark概述第Ⅱ部分 结构化API--DataFrame、SQL和Dataset第Ⅲ部分 低级API第Ⅳ部分 生产与应用第Ⅴ部分 流处理第Ⅵ部分 高级分析与机器学习第Ⅶ部分 生态系统 前言 大概花了一个月(2020-09~2020-10)左右的时间,看完了整本书。笔者毕业后,主要从事机器学习、数据挖掘方向的相关工作。由于Spark作为目前主流的分布式计算引擎,个人也一直在用Spark进行相关的数据分析与建模工作。通读全书,感觉比较适合入门级学习,主

Java_Man_China的博客 518

spark入门_入门必读 | Spark 论文导读

Resilient Distributed Datasets: A fault-tolerant abstraction for in-Memory cluster computing, 是讲述 Spark RDD 的基础论文,通读论文能给我们带来全景的 Spark 知识面摘要:RDD,全称Resilient Distributed Dataset,可伸缩性数据集。使用它编程,可以有效利用大规模集...

weixin_39973271的博客 194

Complete-Life-Cycle-of-a-Data-Science-Project进阶篇:Hadoop、Spark大数据工具与特征工程库完整清单

Complete-Life-Cycle-of-a-Data-Science-Project 是覆盖数据科学项目全生命周期的资源仓库,本文进阶篇聚焦两个重点:**Hadoop、Spark 大数据工具速查表**与**特征工程库清单**。无论你是想上手 HDFS 命令、PySpark SQL,还是用 feature-engine、Featuretools 搭建特征流水线,都能在项目里直接找到对应的 PD

gitblog_00498的博客 1050

国赛大数据实战:从Hive/Spark数据挖掘到实时流处理全解析

数据挖掘与实时处理是大数据技术的两大核心支柱。数据挖掘通过特征工程、模型训练等步骤,从海量数据中提取有价值的信息和模式,其关键在于利用Hive、Spark等工具进行高效的数据预处理和分布式计算。实时处理则基于流计算框架(如Spark Streaming),对持续产生的数据进行即时分析和响应,其核心原理涉及事件时间、水位线和状态管理,以实现低延迟和高吞吐。这些技术共同构成了企业级数据平台的基础,广泛应用于用户行为分析、风险监控和智能推荐等场景。本文以全国性大数据竞赛为背景,深入剖析了数据挖掘全流程与Spark

weixin_34367257的博客 328

《循序渐进学Spark》一导读

Preface 前  言 Spark诞生于美国加州大学伯克利分校AMP实验室。随着大数据技术在互联网、金融等领域的突破式进展,Spark在近些年得到更为广泛的应用。这是一个核心贡献者超过一半为华人的大数据平台开源项目,且正处于飞速发展、快速成熟的阶段。 为什么写这本书 Spark已经成为大数据计算、分析领域新的热点和发展方向。相对于Hadoop传统的Ma...

weixin_34015860的博客 124

10个被低估的机器学习工程软件设计模式

机器学习系统落地难,往往不是算法瓶颈,而是缺乏可维护、可复现、可观测的软件工程能力。软件设计模式作为解决重复性架构问题的经典方法,在ML工程中承担着解耦配置、标准化特征、保障模型一致性、约束数据质量、编排推理流程等关键职责。它们将隐性工程成本显性化,支撑从Jupyter探索到Kubernetes生产部署的全链路稳定性。本文聚焦配置驱动、特征工厂、模型注册中心、数据契约、推理管道等核心模式,结合银行风控、电商搜索、工业质检等真实场景,详解其原理、实现要点与避坑指南,助力算法工程师跨越工程鸿沟,构建真正鲁棒的M

weixin_34319374的博客 374

Hadoop数据分析——读书笔记

《Hadoop数据分析》内容概述

xueuihui的博客 257

Domino 博客中文翻译(三)

原文:Domino Blog 协议:CC BY-NC-SA 4.0 警察工作中的种族偏见:对伊利诺伊州交通拦截数据的分析 原文:https://www.dominodatalab.com/blog/bias-policing-analysis-traffic-stop-data Mollie Pettit ,Metis 的数据科学家和 D3.js 数据可视化讲师,带领数据科学家分析伊利诺伊州警察交通停车数据,呈现 2016 年芝加哥的故事叙事。Pettit 还讨论了数据科学家在分析数据和呈现故事叙述

龙哥盟 1242

NLP入门之路及学习方法:从任务实践入手!

Datawhale原创作者:康兵兵,Datawhale成员寄语:NLP入门,科学有效的方法是找到切入点,一个具体任务。从任务实践入手,做到既见树木也见森...

Datawhale 1445
上一篇: Spark&Pycharm开发问题汇总
下一篇: 决策树的演变与理解
chengshuo678
博客等级 码龄14年 5粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值