场景

上周做了什么事情?

  • A . 搭建了开发环境

  • B . 初步理解什么是机器学习

  • C . 理解基于spark mllib机器学习的开发过程

  • D . 以ALS算法为例,尝试搭建自己的推荐系统(目前还没有搞定)

分析

一. 搭建开发环境。

周五发现目前的开发环境不可用:从svn下载后的工程无法在idea下运行。于是从新搭建了一下开发环境,项目已上传至SVN,具体搭建过程文档见附件相关文档。

二. 什么是机器学习

  1. 从功能的角度来讲就是,计算机利用已有的数据(经验),得出了某种模型(规律),并利用此模型预测未来。从实现的角度来说就是,利用一定的算法,分析历史数据得出一个模型,然后利用这个模型对新的数据的特性进行预测与评估。可以类比人脑通过分析以往经验来对未发生的事物进行预测来理解,详见下图:

这里写图片描述

                                               机器学习过程图
  1. 机器学习的各种算法在于训练出一个模型,详见下图:

这里写图片描述

算法的分类
监督学习算法:
线性回归(linear regression),逻辑回归(logic regression),神经网络,支持向量机(SVM)等。

无监督学习算法:
聚类算法(k-means),降维算法
(PCA算法-主成分分析算法)。
特殊算法(介于监督与无监督之间的算法):
推荐算法
(协同过滤类算法,eg . ALS)

三. 基于 spark mllib的机器学习

这里写图片描述

时间太短了,目前对于spark mllib官网的api基本还不怎么熟悉。

四. 基于spark mllib的ALS算法,搭建自己的推荐系统

尝试基于第三方框架PredictionIO(hbase+spark mllib+hdfs+elasticsearch),搭建一个推荐系统,以更好的理解spark mllib在实际项目中的应用。目前还没有完全跑起来:暂时对ALS算法理解不够,对PredictionIO框架不熟悉。附件中有PredictionIO官网提供的小型推荐系统项目例子,对机器学习感兴趣的同事可以看看

本周工作安排

  1. 协助 OA系统数据的抽取
  2. 结合项目,继续预研spark mmlib
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐