搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
技术学习(版主发帖区)
›
大数据学习
›
Spark
›
入门帮助
›
Spark机器学习库(MLlib)指南之1:简介
0
1
1
分享
Spark机器学习库(MLlib)指南之1:简介
xzc0202
2017-9-14 13:12:18
发表于
入门帮助
[显示全部楼层]
阅读模式
关闭右栏
1
6810
本帖最后由 xzc0202 于 2017-9-15 09:16 编辑
问题向导:
(1)Spark机器学习库是什么,目标是什么?
(2)MLlib具体提供哪些功能?
(3)MLlib为什么要改用基于DataFrame的API?
1.Spark机器学习库(MLlib)指南
MLlib是Spark机器学习库,它的目标是使机器学习算法可扩展和易于使用。它提供如下工具:
机器学习(ML)算法:常用的学习算法,如分类、回归、聚类和协同过滤
特征:特征提取、转化、降维,及选择
管道:构造工具、评估工具和调整机器学习管理
存储:保存和加载算法、模型及管道
实用工具:线性代数,统计,数据处理等。
1.1.声明:基于DataFrame的API为首选API
基于RDD的API目前处于维护模式.
spark2.0开始,基于
RDD
的API已经进入的维护模式.目前spark首选的机器学习API为
DataFrame
的API.
具体含义是什么?
MLlib还会支持和维护spark.mllib包中的RDD API.
但是不再往RDD API中添加新的功能.
在Spark2.0以后的版本中,将继续向DataFrames的API添加新功能以缩小与RDD的API差异。
当两种接口之间达到特征相同时(初步估计为Spark2.3),基于RDD的API将被废弃。
RDD的API将在Spark3.0中被移除
为什么MLlib转向DataFrame API?
DataFrame比RDD提供更加友好的API。使用DataFrame有诸多好处,包括Spark数据源,SQL/DataFrame查询,Tungsten/Catalyst优化器及各编程语言统一的API.
基于DataFrame的MLlib库为多种机器学习算法与编程语言提供统一的API。
DataFrames有助于实现机器学习管道,特别是特征转换。详见
管道指南
。
Spark ML是什么?
"Spark ML"不是一个正式的名称,但偶尔指基于DataFrame API的MLlib库。主要的原因是DataFrame API使用org.apache.spark.ml作为包名,同时前期使用“park ML Pipelines”来强调管道的概念.
哪种方式API更好?
MLlib包含RDD API和DataFrame API,虽然RDD API目前为维护模式,但二者目前都在使用。
1.2.依赖
MLlib使用线性代数包Breeze,Breeze使用etlib-java来优化数值问题。如果运行时本地包不可用,你将看到一个警告提示信息,然后使用纯虚拟机进行处理。
考虑到运行二进制问题时的证书许可问题,我们默认不使用netlib-java的本地代理。安装netlib-java/Breeze来使用系统二进优化,请阅读netlib-java官方文档来获得安装说明。
基于Python语言使用MLlib,需要安装NumPy1.4及以上版本。
1.3.Spark2.2版本亮点
下面着重介绍spark2.2版本中MLlib库的一些新功能和优化
交替最小二乘法(ALS)应用于推荐用户或者项目的功能(SPARK-19535)
ML和mllib的性能调优(SPARK-11968 and SPARK-20587)
基于data-frame API的相关分析和卡方检验 (SPARK-19636 and SPARK-19635)
频繁模式挖掘中的FPGrowth算法 (SPARK-14503)
广义线性模型(GLM)支持Tweedie分布 (SPARK-18929)
补全数据集中的特征转换的缺失值 (SPARK-13568)
LinearSVC:支持向量聚类算法 (SPARK-14709)
逻辑回归算法现在已支持模型训练时系数约束(SPARK-20047)
1.4.迁移指南
MLlib目前处于频繁开发中,目前试验性的API可以会在将来的版本发生变化。迁移指南会详细说明版本间的变化。
1.4.1.从2.1版本到2.2版本
不兼容性更改
没有不兼容性更改
不推荐内容
没有不推荐内容
更改内容:
SPARK-19787: ALS.train方法的regParam默认值由1.0改为0.1。注:此修改不影响ALS的估计、模型或者类。
SPARK-14772: 修正Param.copy方法在Python和Scala API的不一致。
SPARK-11569: StringIndexer对于NULL值将作为"默认"值(unseen values)处理,此前对于无效值都是抛出异常。
1.4.2 spark之前版本
较早的迁移指南已归档到
这里.
想学习更多性能优化知识,可以观看Sam Halliday的"
High Performance Linear Algebra
".
英文链接:
http://spark.apache.org/docs/latest/ml-guide.html
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(1)人评论
电梯直达
正序浏览
美丽天空
发表于 2017-9-15 09:24:54
感谢分享
回复
使用道具
举报
显身卡
还有一些帖子被系统自动隐藏,点此展开
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表新帖
xzc0202
中级会员
关注
3
主题
53
帖子
4
粉丝
TA的主题
Spark机器学习库(MLlib)之3:管道
2017-10-30
Spark机器学习库(MLlib)之2:基础统计
2017-9-15
Spark机器学习库(MLlib)指南之1:简介
2017-9-14
sqoop2系统入门之10之管理员指南篇:Spoop2升级
2017-9-13
24小时热文
幕后产品:打造突破式产品思维
像高手一样发言:七种常见工作场景的说话之
副业警钟,新型法律碰瓷发财方式:批量诉讼
Spark机器学习
Spark机器学习算法、源码及实战详解
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈