Spark大数据处理系列之Machine Learning

article/2025/10/19 15:55:03

Spark的机器学习库(Spark MLlib),包括各种机器学习算法:协同过滤算法、聚类算法、分类算法和其他算法。在前面的《Spark大数据处理》系列文章,介绍Apache Spark框架,介绍如何使用Spark SQL库的SQL接口去访问数据,使用Spark Streaming进行实时流式数据处理和分析。在本篇文章,作者将讨论机器学习概念以及如何使用Spark MLlib来进行预测分析。后面将会使用一个例子展示Spark MLlib在机器学习领域的强悍。Spark机器学习API包含两个package:spark.mllib 和spark.ml。

spark.mllib 包含基于弹性数据集(RDD)的原始Spark机器学习API。它提供的机器学习技术有:相关性、分类和回归、协同过滤、聚类和数据降维。spark.ml提供建立在DataFrame的机器学习API,DataFrame是Spark SQL的核心部分。这个包提供开发和管理机器学习管道的功能,可以用来进行特征提取、转换、选择器和机器学习算法,比如分类和回归和聚类。本篇文章聚焦在Spark MLlib上,并讨论各个机器学习算法。下篇文章将讲述Spark ML以及如何创建和管理数据管道。

机器学习和数据科学

机器学习是从已经存在的数据进行学习来对将来进行数据预测,它是基于输入数据集创建模型做数据驱动决策。数据科学是从海里数据集(结构化和非结构化数据)中抽取知识,为商业团队提供数据洞察以及影响商业决策和路线图。数据科学家的地位比以前用传统数值方法解决问题的人要重要。以下是几类机器学习模型:

监督学习模型
非监督学习模型
半监督学习模型
增强学习模型

下面简单的了解下各机器学习模型,并进行比较:监督学习模型:监督学习模型对已标记的训练数据集训练出结果,然后对未标记的数据集进行预测;

监督学习又包含两个子模型:回归模型和分类模型。

非监督学习模型:非监督学习模型是用来从原始数据(无训练数据)中找到隐藏的模式或者关系,因而非监督学习模型是基于未标记数据集的;

半监督学习模型:半监督学习模型用在监督和非监督机器学习中做预测分析,其既有标记数据又有未标记数据。典型的场景是混合少量标记数据和大量未标记数据。半监督学习一般使用分类和回归的机器学习方法;

增强学习模型:增强学习模型通过不同的行为来寻找目标回报函数最大化。

下面给各个机器学习模型举个列子:

监督学习:异常监测;
非监督学习:社交网络,语言预测;
半监督学习:图像分类、语音识别;
增强学习:人工智能(AI)。

机器学习项目

步骤开发机器学习项目时,数据预处理、清洗和分析的工作是非常重要的,与解决业务问题的实际的学习模型和算法一样重要。

典型的机器学习解决方案的一般步骤:

特征工程
模型训练
模型评估

 

解决方案

 

原始数据如果不能清洗或者预处理,则会造成最终的结果不准确或者不可用,甚至丢失重要的细节。训练数据的质量对最终的预测结果非常重要,如果训练数据不够随机,得出的结果模型不精确;如果数据量太小,机器学习出的模型也不准确。使用案例:

业务使用案例分布于各个领域,包括个性化推荐引擎(食品推荐引擎),数据预测分析(股价预测或者预测航班延迟),广告,异常监测,图像和视频模型识别,以及其他各类人工智能。

接着来看两个比较流行的机器学习应用:个性化推荐引擎和异常监测。

推荐引擎

个性化推荐引擎使用商品属性和用户行为来进行预测。推荐引擎一般有两种算法实现:基于内容过滤和协同过滤。

协调过滤的解决方案比其他算法要好,Spark MLlib实现了ALS协同过滤算法。Spark MLlib的协同过滤有两种形式:显式反馈和隐试反馈。显式反馈是基于用户购买的商品(比如,电影),显式反馈虽好,但很多情况下会出现数据倾斜;隐试反馈是基于用户的行为数据,比如,浏览、点击、喜欢等行为。隐试反馈现在大规模应用在工业上进行数据预测分析,因为其很容易收集各类数据。

另外有基于模型的方法实现推荐引擎,这里暂且略过。异常监测异常监测是机器学习中另外一个应用非常广泛的技术,因为其可以快速和准确地解决金融行业的棘手问题。金融服务业需要在几百毫秒内判断出一笔在线交易是否非法。

神经网络技术被用来进行销售点的异常监测。比如像PayPal等公司使用不同的机器学习算法(比如,线性回归,神经网络和深度学习)来进行风险管理。Spark MLlib库提供给了几个实现的算法,比如,线性SVM、逻辑回归、决策树和贝叶斯算法。另外,一些集成模型,比如随机森林和gradient-boosting树。

那么现在开始我们的使用Apache Spark框架进行机器学习之旅。Spark MLlibSpark MLlib实现的机器学习库使得机器学习模型可扩展和易使用,包括分类算法、回归算法、聚类算法、协同过滤算法、降维算法,并提供了相应的API。除了这些算法外,Spark MLlib还提供了各种数据处理功能和数据分析工具为大家使用:

通过FP-growth算法进行频繁项集挖掘和关联分析;
通过PrefixSpan算法进行序列模式挖掘;
提供概括性统计和假设检验;
提供特征转换;
机器学习模型评估和超参数调优。

推荐阅读文章

大数据工程师在阿里面试流程是什么?

学习大数据需要具备怎么样基础?

年薪30K的大数据开发工程师的工作经验总结?

 


http://chatgpt.dhexx.cn/article/bFZE7R5u.shtml

相关文章

大数据笔记--Spark机器学习(第一篇)

目录 一、数据挖掘与机器学习 1、概念 2、人工智能 3、数据挖掘体系 二、机器学习 1、什么是机器学习 2、机器学习的应用 3、实现机器学习算法的工具与技术框架 三、Spark MLlib介绍 1、简介 2、MLlib基本数据类型 Ⅰ、概述 Ⅱ、本地向量 Ⅲ、向量标签的使用 Ⅳ…

iis 重启 (三种方法)

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 1 1、界面操作 打开“控制面板”->“管…

IIS中应用程序池自动停止,重启报错

阅文时长| 0.2分钟字数统计| 329.6字符主要内容| 1、引言&背景 2、解决方案 3、声明与参考资料 『IIS中应用程序池自动停止,重启报错』编写人| SCscHero 编写时间| 2022/1/3 PM12:32文章类型| 系列完成度| 已完成座右铭每一个伟大的事业,都有一个微不…

服务器上系统怎么启动iis,IIS服务器如何重新启动

IIS的设计目的是建立一套集成的服务器服务,用以支持HTTP,FTP和SMTP,它能够提供快速且集成了现有产品,同时可扩展的Internet服务器,而最近就有很多小伙伴问小编IIS服务器如何重新启动,其实很简单&#xff0c…

解决:IIS 假死,运行一段时间服务器上所有网站打不开,必须要重启服务器才行,重启IIS都没用。怎么解决,解决方案

tip:我服务器问题是 每个5-6天后,服务器上的所有网站都不能访问,重启IIS无用,必须重启服务器! 后,请教周华伟周经理后,找到解决方案如下: 第一原因: 这是程序池造成的&#xff0c…

iis服务器 关闭自动启动,设置IIS服务器定时自动重启的方法

最近,有一朋友的IIS服务器老是出现问题,运行一段时间下来就会出现访问服务器上的网站时提示数据库连接出错,然后重启IIS后网站又能正常访问了,实在找不出是什么原因导致了这个问题。不过最终我想到了一个笨办法,就是让…

C#实现对IIS网站和应用程序池实时监测(网站停止后自动重启)

一、需求分析 在我们的日常运维中,可能会遇到业务网站在运行一段时间后由于某些不确定因素而停止运行,导致业务功能受影响,而此时只要我们重启服务又能够正常运行了,在我们还没有完全排查从根本上解决问题前,需要一个临时的方法来救场(即:当发现业务网站停止后能够自动重…

bat脚本重启IIS中的网站

bat脚本实现重启IIS中的网站 echo off %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit cd /d C:\Windows\System32\inetsrv\ tas…

Windows服务器设置IIS定时重启的方法,带图详解

我们在使用Windows2008下IIS服务器时会经常出现资源耗尽的现象,运行一段时间下来就会出现访问服务器上的网站时提示数据库连接出错,重启IIS后网站又能正常访问了,这个问题可能困扰了很多站长朋友。 一位做网站的笔友经过不断的实践找到了一个…

【服务器】iis的重启服务器、重启iis、回收(重启)线程池、刷新网站

windows自带iis,如果没有的也可以控制面板中启用 1、在开始按钮点击右键,选择控制面板。 2、接着我们从控制面板选择“程序”。 3、然后选择“启用或关闭windows功能”。 4、从列表中选择Internet Infomation Services。 5、并且把相应的功能条…

【window】重启IIS服务

在工作站计算机中使用命令窗口重启IIS一、首先打开cmd命令窗口 二、在cmd窗口中输入iisreset /restart——注 /前有空格 然后就能重启IIS

关于IIS重启的几种方法

关于IIS重启的几种方法 今天看文档,正好看到了有各种情况下,对于云端和本地互相同步更新过程中,经常需要重启IIS服务。自己一直就掌握一种重启方法,想看看一共有几种常用的,遂百度之。经过试验,将经验总结如…

Matlab常用图像处理命令108例(八)

文章和代码以及样例图片等相关资源,已经归档至【Github仓库:digital-image-processing-matlab】或者公众号【AIShareLab】回复 数字图像处理 也可获取。 文章目录 98.roifill99.roifilt2100.roipoly101.std2102.subimage103.truesize104.uint8105.uint16…

chrome浏览器跨域设置(版本号108之后的跨域设置)

1、首先在chrome浏览器安装目录下复制chrome.exe,生成一个新的命名为chrome-cross.exe 注意:为什么要在目录下复制一个新的?是因为如果名字相同,可能会导致设置好的跨域浏览器打开后跟原来的chrome.exe是同一个浏览器&#xff0c…

Leetcode——第108题

题目意思:将排序后的数组转换成二叉查找树。 二叉查找树的定义: (1)若它的左子树不空,则其左子树上任意结点的关键字的值都小于根节点关键字的值。 (2)若它的右子树不空,则其右子…

想进阿里的108道Java面试题

很多同学想进大厂,特别是刚毕业的,以及工作年限短的,不要有任何侥幸心理,踏踏实实的把基础弄扎实了,这是你通往高薪之路的唯一正确姿势。 好了,不多说了,直接上正菜。 01 Mysql 1. 数据库三范…

《缠中说禅108课》20:缠中说禅走势中枢级别扩张及第三类买卖点

前面已经很明确地指出,缠中说禅走势中枢由前三个连续次级别走势类型的重叠部分确定,其后的走势有两种情况:一、该走势中枢的延伸。二、产生新的同级别走势中枢。而在趋势里,同级别的前后缠中说禅走势中枢是不能有任何重叠的&#…

108.【RabbitsMQ】

RabbitMQ (一)、中间件简述1.中间件概述(1).什么是中间件(2).为什么使用中间件?(3).中间件的特点(4).在项目中什么时候使用中间件技术 (成本!!) 2. 中间件技术及架构的概述(1).中间件全家福(2).学习中间件的方式和技巧(3).单体架构(4).分布式架构 3.基于消息中间件的分布式系统…

《缠中说禅108课》12:一吻何能消魂?

就算是看 AV,最终也是为了实战。上章说了那么多关于“吻”的知识,目的是为了干而不看,光看不干,那不成了阴九幽?AV 看多了而不实践,绝对有损健康。但干,马上要遇到的就是风险问题。任何一个位置…

《缠中说禅108课》108:何谓底部?从月线看中期走势演化

何谓底部?这里给出精确的定义,以后就不会糊涂一片了。底部都是分级别的,如果站在精确走势类型的角度,那么第一类买点出现后一知道该买点所引发的中枢第一次走出第三类买卖点前,都可以看成底部构造的过程。只不过如果是…