MLlib是Spark中提供机器学习学习函数的库。它是专为在集群上并行运行的情况而设计的。
MLlib的设计理念十分简单:把数据以RDD的形式表示,然后在分布式数据集上调用各种算法。MLlib引入了一些数据类型(比如点和向量),不过归根结底,MLlib就是RDD一系列可供调用的的函数的集合。
MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。具体来说,其主要包括以下几方面的内容:
- 算法工具:常用的学习算法,如分类、回归、聚类和协同过滤;
- 特征化工具:特征提取、转化、降维,和选择工具;
- 管道(Pipeline):用于构建、评估和调整机器学习管道的工具;
- 持久性:保存和加载算法,模型和管道;
- 实用工具:线性代数,统计,数据处理等工具。
示例:垃圾邮件分类
1.算法工具
1.1 分类与回归
分类与回归是监督式学习的两种主要形式,分类与回归的区别在于预测的变量的类型,在分类中,预测出的变量时离散的,在回归中预测出的变量时连续的,例如根据年龄和体重预测一个人的身高。
1.1 .1线性回归
线性回归是回归中最常用的方法,是指用特征的线性组合来预测输出值,
1.1.2逻辑回归
逻辑回归是一种二元分类