第9章 无监督学习——MLlib

这一章主要讲述如何使用Spark的机器学习库MLlib进行无监督学习。

本章包括如下内容。

  • 使用k-means聚类。
  • 主成分分析降维。
  • 奇异值分解降维。

无监督学习的维基百科定义如下。

“在机器学习中,无监督学习的问题是,在无标记的数据中,试图找到隐藏的结构。”

与监督学习用标记好的数据去训练算法相反,无监督学习让算法自己去找出内部结构。让我们看看下面的样本数据,如图9-1所示。

如图9-2所示,这些数据点组成了两个簇。

0901

图9-1 样本数据

0902

图9-2 分簇样本数据

事实上,聚类是最常见的无监督学习算法。

聚类分析或者聚类算法是把数据划分成多个组,其中一个组的数据与其他组的数据相似。

下面是一些聚类算法的用例。

  • 市场划分:把目标市场划分成多个区域,这样能为每个区域市场提供更好的服务。
  • 社交网络分析:通过像脸书这样的社交网络找到目标广告的族群。
  • 数据中心计算集群:把一堆计算机放在一起提高性能。
  • 天文数据分析:理解天文数据和事件,比如银河系的组成。
  • 房地产:基于相似的特征识别社区。
  • 文本分析:把文章分成像小说或者论文的体裁。

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.