diff --git a/chapter5/5.1Spark机器学习实战.md b/chapter5/5.1Spark机器学习实战.md index e69de29..55b2d30 100644 --- a/chapter5/5.1Spark机器学习实战.md +++ b/chapter5/5.1Spark机器学习实战.md @@ -0,0 +1,45 @@ + +## 5.1 Spark机器学习实战 + + +### 5.1.1 数据类型 + +`MLlib`支持存储在一台机器上的局部向量和矩阵以及由一个或多个`RDD`支持的分布式矩阵。局部向量和局部矩阵是提供公共接口的简单数据模型。 + +### 5.1.1.1 局部向量 + +`MLlib`支持两种局部向量类型:密集向量(`dense`)和稀疏向量(`sparse`)。密集向量由`double`类型的数组支持,而稀疏向量则由两个平行数组支持。例如,向量`(1.0,0.0,3.0)`由密集向量表示的格式为`[1.0,0.0,3.0]`,由稀疏向量表示的格式为`(3,[0,2],[1.0,3.0])`。 + +注意:这里对稀疏向量做些解释。`3`是向量`(1.0,0.0,3.0)`的长度,除去`0`值外,其他两个值的索引和值分别构成了数组`[0,2]`和数组`[1.0,3.0]`。 + +**密集向量** + +示例: + +``` +from pyspark.ml.linalg import Vectors + +dense = Vectors.dense(1.0, 0.0, 3.0) +print(dense) +``` + +输出: +``` +[1.0,0.0,3.0] +``` + +**稀疏向量** + +示例: + +``` +from pyspark.ml.linalg import Vectors + +sparse = Vectors.sparse(3, [0, 2], [1.0, 3.0]) +print(sparse) +``` + +输出: +``` +(3,[0,2],[1.0,3.0]) +``` \ No newline at end of file diff --git a/chapter5/5Spark机器学习实战简介.md b/chapter5/5Spark机器学习实战简介.md index e69de29..e1cd91e 100644 --- a/chapter5/5Spark机器学习实战简介.md +++ b/chapter5/5Spark机器学习实战简介.md @@ -0,0 +1,18 @@ +# 第五章:Spark机器学习 + + +开始学习`spark`机器学习了,都知道`spark`是继`hadoop`后的大数据利器,很多人都在使用`spark`的分布式并行来处理大数据。`spark`中也提供了机器学习的包,就是`MLlib`。 + +`MLlib` 是 `Spark` 的机器学习(`ML`)库。其目标是使实用的机器学习可扩展且容易。在较高级别,它提供了以下工具: + +- `ML`算法:常见的学习算法,例如分类,回归,聚类和协作过滤; + +- 特征化:特征提取,变换,降维和选择; + +- 管道:用于构建,评估和调整`ML`管道的工具; + +- 持久性:保存和加载算法,模型和管道; + +- 实用程序:线性代数,统计信息,数据处理等。 + +接下来我们就进入`spark`机器学习的世界吧!