第9章 无监督学习——MLlib
这一章主要讲述如何使用Spark的机器学习库MLlib进行无监督学习。
本章包括如下内容。
- 使用k-means聚类。
- 主成分分析降维。
- 奇异值分解降维。
9.1 简介
无监督学习的维基百科定义如下。
“在机器学习中,无监督学习的问题是,在无标记的数据中,试图找到隐藏的结构。”
与监督学习用标记好的数据去训练算法相反,无监督学习让算法自己去找出内部结构。让我们看看下面的样本数据,如图9-1所示。
如图9-2所示,这些数据点组成了两个簇。
图9-1 样本数据
图9-2 分簇样本数据
事实上,聚类是最常见的无监督学习算法。
9.2 使用k-means聚类
聚类分析或者聚类算法是把数据划分成多个组,其中一个组的数据与其他组的数据相似。
下面是一些聚类算法的用例。
- 市场划分:把目标市场划分成多个区域,这样能为每个区域市场提供更好的服务。
- 社交网络分析:通过像脸书这样的社交网络找到目标广告的族群。
- 数据中心计算集群:把一堆计算机放在一起提高性能。
- 天文数据分析:理解天文数据和事件,比如银河系的组成。
- 房地产:基于相似的特征识别社区。
- 文本分析:把文章分成像小说或者论文的体裁。
k-means算法最好用图像说明,那让我们再看一遍样本图,如图9-3所示。
Get Spark Cookbook (中文版) now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.