使用IntelliJ IDEA 编译开源的机器学习源码--Oryx
What is Oryx?
大名鼎鼎的Sean Owen (http://www.linkedin.com/in/srowen) 正在 Cloudera 作为 Director of Data Science 专注投身于名为Oryx的开源机器学习项目当中。(Oryx意思是剑羚,属于非洲羚羊的一类分支)。如果您读过《Mahout in Action》这本书,您应该有印象:此书的作者之一就是Sean Owen。
Oryx的开发意图在于帮助Hadoop用户构建机器学习模式并将其加以部署,这样我们就能够以实时方式查询并获取其结果——例如将其作为垃圾邮件过滤器或者推荐引擎的组成部分。
作为Hadoop当中实现机器学习模式创建的传统途径,Apache Mahout "已经走到了发展道路的尽头。"Owen如是说。
The Oryx open source project provides simple, real-time large-scale machine learning / predictive analytics infrastructure.
Architecture
Oryx does two things at heart: builds models, and serves models. These are the responsibilities of two separate components, the Computation Layer and Serving Layer, respectively.
在 IntelliJ IDEA 中编译 Oryx
虽然我是忠实的 Visual Studio 的拥趸(老牌的Windows Phone Developer),但是在工作中不可避免也会遇到 Java 开发的工作,比如目前专注的基于机器学习算法的推荐引擎。对我而言,Eclipse 是生命中不能承受之轻(至少目前为止是如此),之前基于 Apache Mahout 所做的推荐算法是在 Eclipse 中编码和生成Jar包,遇到的问题无数。比如在 Eclipse 中导入 不管是 Mahout 还是 Oryx 的源码都出现我无法解决的编译错误。众所周知 Mahout 和 Oryx 都是基于 Maven 编译的,而在我的 Eclipse 开发环境中出现的 Maven 编译错误,花费了很多时间查找资料,但是最终还是无从解决。
在得知机器学习领域的大神Sean Owen 使用 IntelliJ IDEA 开发 Oryx ,毅然决然地安装 IntelliJ IDEA Community Edition ( http://www.jetbrains.com/idea/download/ )。
在 Cloudera 的开发者社区 Data Science and Machine Learning 论坛您可发现 Owen 的足迹,耐心地为开发者解答 Apache Mahout 和 Oryx 的疑问。
在 Windows 8.1 中启动 IntelliJ IDEA,打开从 GitHub 下载的 Oryx 开源代码 (https://github.com/cloudera/oryx ) 。
在 Oryx Project 上点击鼠标右键,选择 "Maven" – "Reimport",IntelliJ IDEA 重新导入项目所依赖的 Maven Libraries。
至此,Oryx 的源码即可编译成功,研究之,学习之。
使用IntelliJ IDEA 编译开源的机器学习源码--Oryx的更多相关文章
- Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码
目录 Spring源码学习01:IntelliJ IDEA2019.3编译Spring5.3.x源码 前言 工欲善其事必先利其器.学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境.这 ...
- Spring源码解析 | 第一篇 :IntelliJ IDEA2019.3编译Spring5.3.x源码
前言 工欲善其事必先利其器.学习和深读Spring源码一个重要的前提:编译源码到我们的本地环境.这样方便我们在本地环境添加注释.断点追踪.查看类或接口的继承关系等等,更加高效的学习Spring源码.个 ...
- 开源MyBatisGenerator组件源码分析
开源MyBatisGenerator组件源码分析 看源码前,先了解Generator能做什么? MyBatisGenerator是用来生成mybatis的Mapper接口和xml文件的工具,提供多种启 ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- android 在线升级借助开源中国App源码
android 在线升级借助开源中国App源码 http://www.cnblogs.com/luomingui/p/3949429.html android 在线升级借助开源中国App源码分析如下: ...
- 编译hadoop2.2.0源码时报错
编译hadoop2.2.0源码时, mvn install -DskipTests 报错: [ERROR] COMPILATION ERROR : [INFO] ------------------- ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
随机推荐
- Bootstrap左侧下拉三级菜单
在线实例 效果一 效果二 效果三 使用方法 <script src="/api/jq/BootstrapCaidan/js/metismenu.js"></scr ...
- URL(统一资源定位符)结构和注意事项
URL的常见结构: http://localhost/项目名称/文件1/文件2... 注意事项: 当我们在项目中在书写URL的时候,一般会出现两种情况: 第一种:在路径前面加上/,表示直接连在loca ...
- web前端命名规范
在做web项目的时候,命名的规范是很重要.初学者一般急于求成对命名规范没有概念,觉得花时间这些还不如多看几遍框架.其实在我看来,一个良好的命名习惯是很重要的.下面就来介绍一下我总结的命名规范: (1) ...
- 为Windows Azure Web站点添加MIME类型解决文件下载失败的问题
这几天在倒腾Autodesk 360 Viewer,前面的文章也介绍过了,这将是一个全新的在线模型浏览工具.我做了个实验,把A360Viewer放在一个web 站点,然后发布到Windows Azur ...
- [Android]实现类似微信的延迟加载的Fragment——LazyFragment
以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4303910.html 参考微信,使用ViewPager来显示不同的t ...
- Android 手机卫士--构建服务端json、请求网络数据
本文地址:http://www.cnblogs.com/wuyudong/p/5900384.html,转载请注明源地址. 数据的传递 客户端:发送http请求 http://www.oxx.com/ ...
- HTTP和GET/POST请求(NSURLConnection)
网络编程 网络编程是一种实时更新应用数据的常用手段 网络编程是开发优秀网络应用的前提和基础 网络基本概念 客户端(就是手机或者ipad等手持设备上面的APP) 服务器(远程服务器-本地服务器) 请求( ...
- C#复习⑨(附带C#参考答案仅限参考)
C#复习⑨ 2016年6月22日 14:28 C#考试题&参考答案:http://pan.baidu.com/s/1sld4K13 Main XML Comments & Pointe ...
- JS怎么动态命名变量名
[摘要]本文是对JS怎么动态命名变量名的讲解,对学习JavaScript编程技术有所帮助,与大家分享. 1.用eval,例子: 1 2 3 4 5 6 7 <script> var Thr ...
- 区别和详解:jQuery中的 $().each()和$.each()/jQuery.each()
1.认识 $().each()遍历当前jQuery对象,并在每一个元素上执行回调函数.其方法内部是通过调用静态方法jQuery.each()来实现的. jQuery.each()是一个通用的遍 ...