Spark入门( 九)——机器学习 Spark MLlib

机器学习是什么?

机器学习

数据挖掘有着50多年的发展历史。机器学习就是其子领域之一,特点是利用大型计算机集群来从海量数据中分析和提取知识

机器学习与计算统计学密切相关。它与数学优化紧密关联,为其提供方法、理论和应用领域。机器学习在各种传统设计和编程不能胜任的计算机任务中有广泛应用。典型的应用如垃圾邮件过滤光学字符识别(OCR)搜索引擎和计算机视觉。机器学习有时和数据挖掘联用,但更偏向探索性数据分析,亦称为无监督学习

与学习系统的可用输入自然属性不同,机器学习系统可分为3种。学习算法发现输入数据的内在结构。它可以有目标(隐含模式),也可以是发现特征的一种途径。

无监督学习 学习系统的输入数据中并不包含对应的标签(或期望的输出),它需要自行从输入中找到输入数据的内在结构
监督学习 系统已知各输入对应的期望输出系统的目标是学习如何将输入映射到输出
强化学习 系统与环境进行交互,它有已定义的目标,但没有人类显式地告知其是否正在接近目标

Spark MLlib

MLlib是Spark的机器学习(ML)库。其目标是使实用的机器学习可扩展且容易。在较高级别,它提供了以下工具:

  • ML算法:常见的学习算法,例如分类,回归,聚类和协同过滤
  • 特征化:特征提取,变换,降维和选择
  • 管道:用于构建,评估和调整ML管道的工具
  • 持久性:保存和加载算法,模型和管道
  • 实用程序:线性代数,统计信息,数据处理等。

Spark MLlib案例

基于DataFrame的API是主要API

快速入门

  • pom.xml
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-mllib -->
		<dependency>
			<groupId>org.apache.spark</groupId>
			<artifactId>spark-mllib_2.11</artifactId>
			<version>2.2.1</version>
		</dependency>
def main(args: Array[String]): Unit = {
   
		// 屏蔽日志
		Logger.getLogger("org.apache.spark").setLevel(Level.WARN)
		Logger.getLogger("org.apache.jetty.server").setLevel(Level.OFF)

		val spark = SparkSession
			.builder()
			.master("local[*]")
			.appName(Demo01.getClass.getName)
    		.getOrCreate(
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

问题不太大

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值