学习spark scala
在此Apache Spark机器学习示例中,将介绍Spark MLlib并审查Scala源代码。 这篇文章和随附的截屏视频将演示自定义Spark MLlib Spark驱动程序应用程序。 然后,将检查Spark MLLib Scala源代码。 将显示和解释许多主题,但首先,让我们描述一些机器学习概念。
机器学习关键概念
什么是机器学习?
机器学习正在创建和使用从数据中学习的模型。 您可能还会听到机器学习,称为预测建模或数据挖掘。
机器学习的三个例子是什么?
- 垃圾邮件预测
- 信用卡欺诈交易预测
- 产品或广告推荐引擎
机器学习模型有两种类型:有监督的和无监督的。 监督模型包含一组带有正确答案的数据,而非监督模型则不包含标签。
监督机器学习模型的示例
- k近邻–例如:预测一个人如何投票(如果您知道他们的邻居如何投票)
- 朴素的贝叶斯–示例:确定传入的电子邮件是否为垃圾邮件
- 线性回归–尝试确定两个变量是否相关
- 决策树–使用一种结构来表示许多可能的决策路径以及每个路径的结果
无监督机器学习模型的示例
- 群集–处理未标记的数据并尝试对其进行“群集”。 例如,显示百万富翁居住地的数据集可能在比佛利山庄和曼哈顿等地聚集
- 潜在狄利克雷分析(LDA)–自然语言处理,通常用于识别文本或一组文档中的常见主题
- 神经网络–示例:手写识别和面部图像检测
在构建用于进行预测的模型时,我们经常根据现有数据集训练模型。 随着越来越多的训练数据集变得可用,可以对模型进行多次重新训练。 例如,随着我们更多地了解导致产品销售或目标参与度指标的事件,我们将基于协作过滤对推荐引擎进行再培训。
Apache Spark机器学习示例(与Scala一起使用)
让我们展示一个Apache Spark机器学习程序的演示。 在下面的演示中,我们将从训练k-均值聚类模型开始,然后使用该训练的模型来预测Slack传入文本流的语言。
该示例基于先前的Apache Spark流媒体教程构建,该教程可从Slack团队网站流式传输数据。 这些视频以及更多视频也可以在我们的Spark培训课程中找到。 请参阅下面的资源部分以获取链接。
但是,让我们继续进行演示:
Apache Spark机器学习Scala源代码审查
好的,现在我们已经有了演示了,让我们回顾一下Spark MLLib的相关代码。 同样,可以在下面的参考资料小节中找到源代码的链接。 让我们从进入我们的Spark Machine Learning示例以及在演示SlackMLApp的spark-submit部署期间调用的内容开始:
Scala的Spark机器学习示例