摘要: Taste 是 Apache Mahout 提供的一个协同过滤算法的高效实现,它是一个基于Java实现的可扩展的高效的推荐引擎。该推荐引擎是用<userid,itemid,preference>这样简单的数据格式表达用户对物品的偏好。以此为输入数据,计算后就可以得到为每个user推荐的items列表。他提供了方便的单机版的编程接口,也提供了基于hadoop的分布式的实现。单机版的编程接口主要适用于写demo和做算法的评估,若处理大规模数据,还是需分布式的实现。以下是对org.apache.mahout.cf.taste.hadoop.item.RecommenderJob的各Map 阅读全文
posted @ 2012-05-22 13:18 jerome.rong 阅读(5789) 评论(3) 推荐(0) 编辑
摘要: 一, Introductionpackage mia.recommender.ch02;//=分析导入包可以看出mahout的包分为主要类以及它们的实现类=import org.apache.mahout.cf.taste.impl.model.file.*;import org.apache.mahout.cf.taste.impl.neighborhood.*;import org.apache.mahout.cf.taste.impl.recommender.*;import org.apache.mahout.cf.taste.impl.similarity.*;import org. 阅读全文
posted @ 2012-05-22 10:52 jerome.rong 阅读(8074) 评论(4) 推荐(0) 编辑
摘要: Apache Mahout 是 ApacheSoftware Foundation (ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序,并且,在 Mahout 的最近版本中还加入了对Apache Hadoop 的支持,使这些算法可以更高效的运行在云计算环境中。在Mahout实现的机器学习算法见下表:算法类算法名中文名分类算法Logistic Regression逻辑回归Bayesian贝叶斯SVM支持向量机Perceptron感知器算法Neural Network神经网络Random Forests随机森林Restrict 阅读全文
posted @ 2012-05-22 10:44 jerome.rong 阅读(7654) 评论(0) 推荐(0) 编辑
摘要: 一直以为在Mahout的在分布式上做了很多东西,很高深。最近一段时间由于工作中要实现一些分布式算法,所以硬着头皮看了一下它的源码。当时我匆忙的看过KMeans的实现,这次我的工作是在搜索引擎日志记录中找相似query。我是按照query以及它对应的点击商品来进行相似query匹配的,其实就是一个协同推荐问题。开始时,我实现了一个单机版的算法,每个query对整个query集合进行相似度计算,这相当于一个笛卡尔积的计算。在独立query较小的情况下,这个计算了还可以接受,但是一旦query的量表达,例如10w级别,单机就无法容忍了。所以很有必要把这个计算搬到hadoop上来做。于是我就分析了一下 阅读全文
posted @ 2012-05-22 10:31 jerome.rong 阅读(2208) 评论(0) 推荐(0) 编辑
摘要: Taste 是一个著名的开源框架,目前已经在Mahout项目下。Taste 实现了比较流行的个性化推荐算法: User-Based、Item-Based、Slope One实现了 5 个著名的相似度计算算法:*EuclideanDistance(欧氏距离)*LogLikelihood(对数似然)*PearsonCorrelation(皮尔逊相关系数)*SpearmanCorrelation(和前一个类似,比较的不同而已)*TanimotoCoefficient(有点类似于关联规则,当然也有很大的不同)Taste在官方文档中自称: Taste is designed to be enterpri 阅读全文
posted @ 2012-05-22 00:49 jerome.rong 阅读(1020) 评论(0) 推荐(0) 编辑
摘要: Ext的组件模式,很好的规范了组件设计,用Manager的统一管理,也是很好的方式.下面简单分析一下Ext的组件结构.Ext的所有组件都是扩展于Ext.Component, 而后子类扩展和集成形成了一个单根的组件树.Ext中使用组件的方式很不一样,可以看一个例子.js 代码varformPanel =newExt.form.FormPanel({items: [{xtype: 'hidden',name: 'domainId'},{fieldLabel: '姓名',name: 'name',allowBlank:false},{f 阅读全文
posted @ 2012-05-21 23:49 jerome.rong 阅读(3010) 评论(0) 推荐(0) 编辑
摘要: Spket IDE是目前支持Ext最为出色的IDE。 它采用.jsb project file 文件并将继承于基类和所有文档的内容嵌入到生成代码提示的Script doc中。由于Spket只是一个单纯的编辑器,没有其它格式的支持(如CSS),所以我的做法是用它的Eclipse插件形式,启动ECLIPSE Help → Software Updates → Find and Install… → Search for new features to install → New remote site…名称: “Spket”,地址URL是http://www.spket.com/update/完成 阅读全文
posted @ 2012-05-21 21:16 jerome.rong 阅读(1782) 评论(0) 推荐(0) 编辑
摘要: 丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。下面举一些常见适合kv数据库的例子来谈谈键值的设计,并与关系型数据库做一个对比,发现关系型的不足之处。用户登录系统记录用户登录信息的一个系统, 我们简化业务后只留下一张表。关系型数据库的设计mysql> select * from login;+---------+----------------+-------------+------------------- 阅读全文
posted @ 2012-05-18 13:35 jerome.rong 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 最近推荐引擎成为显学,主要原因应该是电子商务的蓬勃发展。头些日子和图灵的两位老师吃饭,我甚至了解到因为推荐引擎以及机器学习领域的日渐火爆,图灵出的线性代数最近销量都很好,更别提大家现在到处都可以看到这个领域相关的招聘。我最近的创业项目iApp4Me其实也是一个推荐引擎的应用,我关注这个领域有很长一段时间了。这个领域还很新,还有很多未知的可能性,非常有意思。不过在我关注的过程中,我发现很多人其实对什么是推荐引擎一知半解,这有点像5-6年前的技术界对搜索引擎的理解一样,那时候有人曾在CSDN言之凿凿的说Google其实用的就是Mysql无非是服务器多,而且管理员水平高而已。虽然大多数的高校的计算机 阅读全文
posted @ 2012-05-15 18:28 jerome.rong 阅读(324) 评论(0) 推荐(1) 编辑
摘要: Eclipse里启动Tomcat,配置内存大小2009年12月11日 星期五 10:50一般安装完eclipse之后,在安装目录下你应该可以看到有一个eclipse.ini文件,对了,就是在这个文件里面修改,我打开同事机器上这个文件,里面的内容是:-vmargs-Dosgi.splashLocation=d:\Program Files\MyEclipse 5.5.1 GA\eclipse\MyEclipseSplash.bmp-Dosgi.splashLocation=d:\Program Files\MyEclipse 5.1.1 GA\eclipse\MyEclipseSplash.bm 阅读全文
posted @ 2012-05-15 10:26 jerome.rong 阅读(52991) 评论(0) 推荐(2) 编辑