更新 15项目案例

This commit is contained in:
jiangzhonglian
2017-09-13 16:04:51 +08:00
parent df0396dd78
commit 23417371ca
6 changed files with 81 additions and 355 deletions

View File

@@ -10,14 +10,14 @@
## 大数据 场景
```
假如你为一家网络购物商店工作,很多拥护访问该网站,其中有些人会购买商品,有些人则随意浏览后就离开。
假如你为一家网络购物商店工作,很多用户访问该网站,其中有些人会购买商品,有些人则随意浏览后就离开。
对于你来说,可能很想识别那些有购物意愿的用户。
那么问题就来了,数据集可能会非常大,在单机上训练要运行好几天。
接下来:我们讲讲 Hadoop 如何来解决这样的问题
接下来:我们讲讲 MapRedece 如何来解决这样的问题
```
## MapReduce
## MapRedece
### Hadoop 概述
@@ -79,21 +79,21 @@ cat input/15.BigData_MapReduce/inputFile.txt | python src/python/15.BigData_MapR
#### Mahout in Action
1. 简单贝叶斯:
2. k-近邻算法:
1. 简单贝叶斯:它属于为数不多的可以很自然的使用MapReduce的算法。通过统计在某个类别下某特征的概率。
2. k-近邻算法:高维数据下(如文本、图像和视频)流行的近邻查找方法是局部敏感哈希算法。
3. 支持向量机(SVM)使用随机梯度下降算法求解如Pegasos算法。
4. 奇异值分解Lanczos算法是一个有效的求解近似特征值的算法。
5. k-均值聚类canopy算法初始化k个簇然后再运行K-均值求解结果。
#### 使用 mrjob 库将 MapReduce 自动化
### 使用 mrjob 库将 MapReduce 自动化
> 理论简介
* MapReduce作业流自动化的框架Cascading 和 Oozie.
* mrjob是一个不错的学习工具与2010年底实现了开源来之于Yelp(一个餐厅点评网站).
* MapReduce 作业流自动化的框架Cascading 和 Oozie.
* mrjob 是一个不错的学习工具与2010年底实现了开源来之于 Yelp(一个餐厅点评网站).
```Shell
python mrMean.py < inputFile.txt > myOut.txt
python src/python/15.BigData_MapReduce/mrMean.py < input/15.BigData_MapReduce/inputFile.txt > input/15.BigData_MapReduce/myOut.txt
```
> 实战脚本
@@ -106,11 +106,11 @@ python mrMean.py < inputFile.txt > myOut.txt
python src/python/15.BigData_MapReduce/mrMean.py < input/15.BigData_MapReduce/inputFile.txt
```
#### 利用 Pegasos 算法并行训练支持向量机
### 项目案例:分布式 SVM 的 Pegasos 算法
Pegasos是指原始估计梯度求解器(Peimal Estimated sub-GrAdient Solver)
> Pegasos 工作原理
#### Pegasos 工作原理
1. 从训练集中随机挑选一些样本点添加到带处理列表中
2. 按序判断每个样本点是否被正确分类
@@ -130,7 +130,7 @@ Pegasos是指原始估计梯度求解器(Peimal Estimated sub-GrAdient Solver)
累加对 w 的更新
```
> 开发流程
#### 开发流程
```
收集数据:数据按文本格式存放。
@@ -141,6 +141,11 @@ Pegasos是指原始估计梯度求解器(Peimal Estimated sub-GrAdient Solver)
使用算法本例不会展示一个完整的应用但会展示如何在大数据集上训练SVM。该算法其中一个应用场景就是本文分类通常在文本分类里可能有大量的文档和成千上万的特征。
```
> 训练算法
[完整代码地址](https://github.com/apachecn/MachineLearning/blob/master/src/python/2.KNN/kNN.py): <https://github.com/apachecn/MachineLearning/blob/master/src/python/2.KNN/kNN.py>
我们继续看 Python 版本的代码实现。
* * *