Spark入门:SparkMLlib介绍

机器学习可以看做是一门人工智能的科学,该领域的主要研究对象是人工智能。机器学习利用数据或以往的经验,以此优化计算机程序的性能标准。一种经常引用的英文定义是:

AcomputerprogramissaidtolearnfromexperienceEwithrespecttosomeclassoftasksTandperformancemeasureP,ifitsperformanceattasksinT,asmeasuredbyP,improveswithexperienceE。

机器学习强调三个关键词:算法、经验、性能,其处理过程如上图所示。在数据的基础上,通过算法构建出模型并对模型进行评估。评估的性能如果达到要求,就用该模型来测试其他的数据;如果达不到要求,就要调整算法来重新建立模型,再次进行评估。如此循环往复,最终获得满意的经验来处理其他的数据。机器学习技术和方法已经被成功应用到多个领域,比如个性推荐系统,金融反欺诈,语音识别,自然语言处理和机器翻译,模式识别,智能控制等。

传统的机器学习算法,由于技术和单机存储的限制,只能在少量数据上使用。即以前的统计/机器学习依赖于数据抽样。但实际过程中样本往往很难做好随机,导致学习的模型不是很准确,在测试数据上的效果也可能不太好。随着HDFS(HadoopDistributedFileSystem)等分布式文件系统出现,存储海量数据已经成为可能。在全量数据上进行机器学习也成为了可能,这顺便也解决了统计随机性的问题。然而,由于MapReduce自身的限制,使得使用MapReduce来实现分布式机器学习算法非常耗时和消耗磁盘IO。因为通常情况下机器学习算法参数学习的过程都是迭代计算的,即本次计算的结果要作为下一次迭代的输入,这个过程中,如果使用MapReduce,我们只能把中间结果存储磁盘,然后在下一次计算的时候从新读取,这对于迭代频发的算法显然是致命的性能瓶颈。

MLlib是Spark的机器学习(MachineLearning)库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模。MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。具体来说,其主要包括以下几方面的内容:

Spark机器学习库从1.2版本以后被分为两个包:

使用MLPipelineAPI可以很方便的把数据处理,特征转换,正则化,以及多个机器学习算法联合起来,构建一个单一完整的机器学习流水线。这种方式给我们提供了更灵活的方法,更符合机器学习过程的特点,也更容易从其他语言迁移。Spark官方推荐使用spark.ml。如果新的算法能够适用于机器学习管道的概念,就应该将其放到spark.ml包中,如:特征提取器和转换器。开发者需要注意的是,从Spark2.0开始,基于RDD的API进入维护模式(即不增加任何新的特性),并预期于3.0版本的时候被移除出MLLib。

在接下来的几个章节里,我们将从基本的机器学习算法入手,循序渐进的来学习Spark平台下的机器学习。

厦门大学软件工程系副教授,2009年毕业于中国人民大学计算机系获工学博士学位。主要研究方向是网络数据管理,车载网络,大数据分析和管理。

THE END
1.大数据机器学习算法概论腾讯云开发者社区大数据 机器学习 算法概论 ?算法概述? 算法是计算机科学领域最重要的基石之一,计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,数据结构和算法是软件开发必备的核心基础,是内功心法。下面举例拿推荐算法和分类算法的实际场景做下举例:https://cloud.tencent.com/developer/article/2479107
2.java大数据算法java大数据是什么意思jacksky的技术博客java 大数据 算法 java大数据是什么意思 一、 大数据 背景:随着科技的发展,智能手机、智能穿戴设备越来越普及,数据量越来越庞大,大数据应运而生。 1M=1024KB 1G=1024M 1T=1024G 1P=1024TB… 大数据:大(海量)+数据(论文、视频、游戏战绩、购买记录等等)https://blog.51cto.com/u_14125/6788081
3.互联网算法是什么意思互联网算法意思是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。https://edu.iask.sina.com.cn/jy/2sLtkZncRzh.html
4.算法是指什么?算法概述二、传统算法与大数据算法 传统的数据算法可被称为数据分析,数据分析的目的在于对已有的数据进行描述性分析,其重点在于发现数据隐含的规律,进行商业分析和处理。 大数据时代的数据算法可被称为数据科学,与数据挖掘和机器学习相关。 机器学习是交叉学科,机器学习涉及的学科包括概率论、统计学、逼近论、图分析、算法复杂度https://m.elecfans.com/article/2008707.html
5.什么是大数据算法?大数据算法有多种,以下是一些主要的算法:一、聚类算法 聚类算法是一种无监督学习的算法,它将相似的数据点划分到同一个集群中。常见的聚类算法包括K均值聚类、层次聚类等。这些算法在处理大数据时能够有效地进行数据分组,帮助发现数据中的模式和结构。二、分类算法 分类算法是一种监督学习的算法,它通过https://zhidao.baidu.com/question/2129040765364994747.html
6.大数据分析是什么通过大数据分析算法,应该对于数据进行一定的推断,这样的数据才更有指导性。 在大数据时代,大数据分析价值不可估量。在防伪行业中,大数据分析可为企业实现更优质的服务;在企业中,大数据分析为企业决策者以及监管部门提供决策参考,也可帮助企业更准确找到自身定位和发展方向。https://www.linkflowtech.com/news/2090
7.大数据算法一文掌握大数据算法之:概述特点类型及难点等,值得2.1 什么是大数据算法 2.2 大数据算法特点 2.3 大数据算法类型 2.4 大数据算法难点 3、总结 1、引言 小屌丝:鱼哥,大数据开篇反馈不错哦。 小鱼:嗯,是的呢, 咱这个专栏,同样也是跟大家详细介绍大数据算法的知识。 小屌丝:那鱼哥,还是老样子,理论+实例相结合吗? https://blog.csdn.net/wuyoudeyuer/article/details/141284911
8.大数据:聚类算法深度解析在上述示例中,我们使用了MiniBatchKMeans模型来模拟流式数据输入,并逐步更新聚类模型。这种方式使得算法能够在数据流不断到来的情况下进行实时聚类。 通过克服大数据背景下的这些挑战,我们可以更好地应用聚类分析在复杂和庞大的数据集中发现有价值的模式和信息。 http://www.360doc.com/content/24/0111/21/78411425_1110749888.shtml
9.什么是大数据数据挖掘6帆软数字化转型知识库什么是大数据 数据挖掘6 大数据和数据挖掘是两者之间既有联系又有区别的概念。大数据指的是体量巨大、结构复杂且增长速度快的数据集合,通常用来描述企业和组织所面临的数据挑战。数据挖掘则是从大数据中提取有价值的信息和知识的过程,通过应用各种算法和技术发现隐藏的模式和关系。大数据强调的是数据的规模和多样性、数据https://www.fanruan.com/blog/article/602195/
10.算法工程师软件工程师大数据工程师,傻傻分不清楚这个类别中的大数据算法,其实我们基本上可以理解算法工程师。 这是唯一跟算法工程师有交叉的部分 系统类 偏向于系统开发,比如我们经常听到的hadoop、云计算,就是属于这个类型。这里其实主要是hadoop(一个分布式系统,简单理解为另外一种和Windows或者是MacOS一样的东西)偏多,开发语言一般是Java。而另外数据管理员(DBA)和https://maimai.cn/article/detail?fid=845613115&efid=fwunO1cSXu6ZrJpdACNWjA
11.大数据分析是什么?大数据分析是一种快速处理大规模数据集的方法,以便从中获取有用的信息和洞见。这些数据可以来自各种来源,https://www.zhihu.com/question/333096055
12.Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)7、大数据算法工程师 8、大数据运维工程师 9、大数据解决方案 学习的技术 大数据项目流程 1、 数据生产 2、 数据收集 3、 数据存储 4、 需求分析 5、 数据预处理 6、 数据计算 7、 结果数据存储 8、 结果数据展示什么是服务器 也称伺服器,是一种高性能计算机,提供计算服务的设备。 https://developer.aliyun.com/article/1403772
13.多拉快跑更安全?看G7智能挂的神级操作1、大数据算法,智能配货 拉货永远遵循一个原则,那就是多拉快跑,这句话用在快递快运领域尤其适合。 大家都知道,在快递快运领域多用的是厢式车。那么,如何在国家法律法规的允许下获得更大容积的厢式车,在同样容积的箱体里摆放更多的货物则成为现代运输人亟待解决的问题。 http://www.360che.com/news/190228/106757.html
14.什么是大数据?什么是机器学习?两者区别?相反,对于机器学习而言,越多的数据会越 可能提升模型的精确性,同时,复杂的机器学习算法的计算时间也迫切需要分布式计算与内存计算这样的关键技术。因此,机器学习的兴盛也离不开大数据的帮助。 大数据与机器学习两者是互相促进,相依相存的关系。 (2)机器学习≠大数据https://www.jianshu.com/p/6b1405133376
15.淘宝千人千面是什么意思?有什么功能?淘宝千人千面是什么意思?有什么功能? 在2013年时淘宝平台首次提出了“千人千面”的新算法,根据平台后台的大数据,从细微之处对商品进行划分,从中找到喜欢该商品的顾客,并进行推荐。让卖家的商品找到真正需要他的人群,以达到精准推广引流的效果。 我们有么有发现这样的一个现象,就是自己打开的淘宝界面和自己的亲朋好友https://www.maijia.com/article/478483
16.《人类简史》作者:人类的未来由谁掌握界面新闻·JMedia问:如果你的预测是准确的,我们又能做些什么呢? 我们绝对可以对新技术实施监管。我们可以确保它们用于善良而非邪恶的目的。我们需要确保大数据算法为我们每个个人服务,而不仅仅是为企业或政府的利益服务。目前,我们所见的人工智能系统更多被用于监控为政府和企业服务的个人。但是,技术本身也可以被用来监控企业和政府为个人https://www.jiemian.com/article/2887128.html