如何选择Spark机器学习API

作者: Andrew C. Oliver 2017-07-26 17:25:22

本文将简要介绍Spark机器学习库(Spark MLlib’s APIs)的各种机器学习算法,主要包括:统计算法、分类算法、聚类算法和协同过滤算法,以及各种算法的应用。

如何选择Spark机器学习API

你不是一个数据科学家。“根据科技和商业媒体报道,机器学习将防止全球变暖”,显然只有中国的新闻媒体才会发布类似的虚假新闻,可能机器学习能够识别虚假新闻吧(与分类算法有关)?事实上,机器学习还真的可以呢!

那么机器学习能做点什么呢?你又将怎样发现呢?如果你已经使用了Apache Spark进行批处理和流处理,那么现在有一东西可以帮你更好地处理。有一个你在用Spark SQL和Spark流处理的时候很可能同时用到的东西,就是Spark MLlib,Spark MLlib是一个API形式的机器学习库和统计算法。

下面简要介绍一下四种最基本的MLlib APIs,主要包括它们的作用和应用。PS:文中所有标蓝字体均可点击底部阅读原文获取详情。

统计算法

这些API主要是用来进行A-B检验或者A-B-C检验。通常在商业中,我们认为,如果两个东西的平均值相等,那么这两个东西就大体相当了。其实不一定。试想一下,一个汽车制造商换掉汽车座椅之后,做一个关于座椅舒适度的调查。对于个子矮小的用户来说,他们可能觉得座椅更舒服了,但是对于个子高大的用户来说,他们可能会觉得非常不舒服,以至于放弃购买汽车,而个子中等的用户刚好平衡了这个差异。通常,新座椅也许要更舒服一些,但是,如果没有身高超过6英尺的用户购买的话,我们还是失败了。根据Spark的假设测试,你可以先做一个皮尔逊卡方值检验或者一个柯尔莫可洛夫-斯米洛夫检验,先测试一下某个东西的“合适程度”,或者它的取值是否符合“正态分布”。这种方法基本适用于所有需要比较两串数据的情况。“合适程度”表明“你是否喜欢”,或者说新算法是否达到了“优于”旧算法的目的。

分类算法

你的属性是什么?如果你手头有一堆属性不同的东西,你可以让电脑对这些东西进行正确的归类。这里的技巧就是要把各个属性对应到各个“类”,而对于这个分类,并没有标准的正确答案,错误答案倒是不少。如果你认为某人在看一组表格并把它们归类,这就是分类算法。你在使用垃圾邮件过滤器时就已经接触过分类算法了,垃圾邮件过滤器就是过滤掉包含垃圾邮件中常见词语的邮件。分类算法还可以用来诊断患者病情或用来预测哪些用户有可能取消订购有线广播电视(一般是不看体育节目的人)。从本质上来说,分类学习是基于过去的数据标签,然后把这些标签应用到未来的发展预测。

聚类算法

当你跟一个人讨论“机器学习”的时候,如果对方只能说出k-means算法,那说明他只看过“小抄”,什么都不懂。如果你手上有一组属性,你可以找到一些关键点把这些属性归为各个类中,这就是聚类算法。你能说出各个不同类之间的区别,但是也有可能有些类是比较接近的。有可能一个大的东西和一个小的东西被归为了同一类,而另一个更小的东西却被归为了大的一类。再加上其他各种复杂的属性和不同的维度,所以其实聚类算法也有很多种。聚类算法和分类算法不同,但是聚类算法经常用来对一群人分组,二者***的区别在于,在聚类算法中,我们不知道集群前面的标签(或组)是什么,而在分类算法中,标签就很明确了。客户细分是一个常见的应用,不同的客户有不一样的喜好特点,比如可以把客户分成信用组、保留风险组或购买组(对于新鲜农产品或熟食),但是也有可能要根据已有数据进行诈骗识别的分类。

协同过滤算法

好吧,协同过滤算法是一种大众化的算法。我们公司就用协同过滤算法去提高搜索结果的精确度,我还做过一个相关的讲座,如果有足够多的人点击第二张猫的照片,那它一定比***张猫的图片好。在一个社交或电子商务环境中,如果你充分运用各种用户的“喜欢”和“不喜欢”,你就可以找到出对于大部分用户或者某一特定用户群体来说“***的”结果,这是通过个性化系统的多属性过滤来实现的,例如,当你在Google地图或Yelp上搜索餐厅(你可以根据服务质量、食物种类、内部风格、是否适合小孩、是否有情调、用户评论和消费水平等等进行过滤)时使用的就是这个原理。

上述并不是关于机器学习的所有算法,但也算是使用过程中最常见的几种算法了。以上四个大类中,每一类中都包含好几个可选算法或者衍生算法,那要选哪个呢?好吧,具体选用哪一种算法是考虑数学背景、实验过程和已知数据等各种因素的综合结果。记住,这些算法都只是你分析问题的工具而已,也有可能使用这些算法之后得到的是没有用的结果。

机器学习 Spark API
上一篇:Uber 刘彦东:当Uber开拓送餐服务后,全世界的外卖都震惊了 下一篇:机器学习技术之预测性维护
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

刷脸取件被小学生“破解”!丰巢紧急下线 精选

近日,#小学生发现刷脸取件bug#的话题引发关注!这是真的吗?都市快报《好奇实验室》进行了验证。

好奇实验室 ·  2019-10-17 10:20:39
4 分钟!OpenAI 的机器手学会单手解魔方了,完全自学无需编程 精选

OpenAI 的机器手学会单手解魔方了,而且还原一个三阶魔方全程只花了 4 分钟,其灵巧程度让人自叹不如。

佚名 ·  2019-10-16 13:52:13
MIT新研究表明机器学习不能标记假新闻

麻省理工学院研究人员发表的两篇新论文显示,当前的机器学习模型还不能完成区分虚假新闻报道的任务。在不同的研究人员表明计算机可以令人信服地生成虚构新闻故事而无需太多人为监督之后,一些专家希望可以训练基于相同机器学习的系统来检测此类新闻。

佚名 ·  2019-10-16 11:52:15
高位截瘫患者重新行走:靠意念指挥外骨骼,法国脑机接口新突破 精选

依靠介入头部的 2 个传感器,法国里昂的一名瘫痪男子 Thibault 实现了操控外骨骼装备来助力行走。

孙滔 ·  2019-10-15 10:10:00
2008 年预测 2020 年生活方式:基本都实现了

美国皮尤研究中心曾在 2008 年预测 2020 年的生活方式,目前来看,该研究的预测基本已经实现。而对于未来 10 年,也就是 2030 年左右人们的生活,在 2017 年底的世界经济论坛上,800 多名信息和通讯技术领域的技术高管和专家给出了如下预测。

佚名 ·  2019-10-15 10:03:43
机器学习的正则化是什么意思?

正则化的好处是当特征很多时,每一个特征都会对预测y贡献一份合适的力量;所以说,使用正则化的目的就是为了防止过拟合。

佚名 ·  2019-10-15 10:01:43
机器学习的正则化是什么意思?

正则化的好处是当特征很多时,每一个特征都会对预测y贡献一份合适的力量;所以说,使用正则化的目的就是为了防止过拟合。

佚名 ·  2019-10-15 10:01:43
为什么我的CV模型不好用?没想到原因竟如此简单……

机器学习专家 Adam Geitgey 近日发布了一篇文章探讨了这一简单却又让很多人头痛的问题,并分享了他为解决这一问题编写的自动图像旋转程序。

机器之心 ·  2019-10-15 09:46:46
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载