本文将简要介绍Spark机器学习库(SparkMLlib的APIs)的各种机器学习算法,主要包括:统计算法、分类算法、聚类算法和协同过滤算法,以及各种算法应用。你不是数据科学家。“据科技和商业媒体报道,机器学习将阻止全球变暖”显然只有中国的新闻媒体发布类似的假新闻,也许机器学习可以识别假新闻(与分类算法有关)?事实上,机器学习真的可以!那么机器学习能做什么呢?你将如何发现?如果您已经使用ApacheSpark进行批处理和流处理,那么现在有一些东西可以帮助您做得更好。在使用SparkSQL和Spark流处理的时候,有一个东西你很可能会同时用到,那就是SparkMLlib。SparkMLlib是API形式的机器学习库和统计算法。下面简单介绍四种最基本的MLlibAPI,主要包括它们的功能和应用。PS:文中所有蓝色字体,详情可点击底部阅读原文。这些统计算法的API主要用于A-B测试或A-B-C测试。通常在商业中,如果两件事的平均值相等,我们认为它们大致相等。不必要。想象一下,一家汽车制造商在更换汽车座椅后,对座椅舒适度进行了调查。对于个子矮的用户来说,他们可能会觉得座椅更舒服,但对于个子高的用户来说,可能会觉得太难受以至于放弃买车,而中等用户正好平衡了这种差异。一般来说,较新的座椅可能更舒适,但如果没有超过6英尺的人购买它们,我们就会失望。根据Spark的假设检验,你可以先做Pearson卡方值检验或Kolmokolov-Smirov检验来检验一个东西是否“适合”,或者它的值是否符合“正态分布”。这种方法基本上适用于所有需要比较两串数据的情况。“适合度”表示“你喜欢吗”,或者说新算法是否达到了比旧算法“更好”的目的。分类算法你的属性是什么?如果你有一堆不同属性的东西,你可以让计算机把这些东西正确分类。这里的技巧是将每个属性映射到每个“类别”。对于这个分类,没有标准的正确答案,但有很多错误的答案。如果你认为有人正在查看一组表格并对它们进行分类,那就是分类算法。您在使用垃圾邮件过滤器时已经遇到过分类算法,垃圾邮件过滤器会过滤掉包含垃圾邮件中常见词的电子邮件。分类算法还可用于诊断患者状况或预测哪些订户可能取消他们的有线电视订阅(通常是不看体育节目的人)。本质上,分类学习是基于过去的数据标签,然后应用这些标签来预测未来的发展。聚类算法当你和某人讨论“机器学习”时,如果对方只会说k-means算法,那说明他只看了“备忘单”,什么都不懂。如果你手头有一组属性,你可以找到一些关键点并将这些属性归入每个类别。这是一种聚类算法。您可以分辨出各个类别之间的区别,但也有可能某些类别更接近。有可能一个大物体和一个小物体被归为同一类,而另一个较小的物体被归为大类。再加上其他各种复杂的属性和不同的维度,聚类算法其实有很多。聚类算法不同于分类算法,但聚类算法通常用于对一群人进行分组。两者最大的区别在于,在聚类算法中,我们不知道聚类前面的标签(或组)是什么,而在分类算法中,标签是明确的。客户细分是一个常见的应用。不同的客户有不同的偏好。例如,可以将客户分为信用组、保留风险组或购买组(对于新鲜农产品或熟食),但也可能基于现有数据。欺诈检测分类。协同过滤算法嗯,协同过滤算法是一个流行的算法。我们公司使用协同过滤算法来提高搜索结果的准确性。我也做了一个相关的讲座。如果有足够多的人点击第二张猫照片,它一定比第一张猫照片好。.在社交或电子商务环境中,如果充分利用各种用户的“喜欢”和“不喜欢”,可以为大多数用户或特定用户群找到“最佳”结果,这是通过多-个性化系统的属性过滤。在使用消费水平等进行过滤时会使用此原则)。以上不是关于机器学习的所有算法,但也是过程中最常用的一些算法。在以上四类中,每一类都包含了几种可选算法或者派生算法,那么选择哪一种呢?那么,选择哪种算法是基于对各种数学背景、实验过程和已知数据的考虑。这些因素综合的结果。请记住,这些算法只是您分析问题的工具,使用这些算法后可能会得到无用的结果。
