摘要: 今天下午在公司用PIG来实现一种数据分析的算法,感觉很不错,在这里做一个记录,主要是实现一种逻辑关系。 兴例来说就是用户买了一件物品,除了这个物品外还买了哪些物品 ,可以对类似的用户做推荐。如下有一组数据结构: X1 Y1 X2 Y2 X3 Y3 X1 Y4 X5 Y5 X表示用户,Y表示用户所买的物品 首先可以做一次JOIN关联:(对数据自己本身做一关联JOIN操作) X1 Y1 X1 Y1 X1 Y1 X1 Y4 X2 Y2 X2... 阅读全文
posted @ 2012-05-22 14:12 jerome.rong 阅读(797) 评论(0) 推荐(0) 编辑
摘要: 聚类分析什么是聚类分析?聚类 (Clustering) 就是将数据对象分组成为多个类或者簇 (Cluster),它的目标是:在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。所以,在很多应用中,一个簇中的数据对象可以被作为一个整体来对待,从而减少计算量或者提高计算质量。其实聚类是一个人们日常生活的常见行为,即所谓“物以类聚,人以群分”,核心的思想也就是聚类。人们总是不断地改进下意识中的聚类模式来学习如何区分各个事物和人。同时,聚类分析已经广泛的应用在许多应用中,包括模式识别,数据分析,图像处理以及市场研究。通过聚类,人们能意识到密集和稀疏的区域,发现全局的分布模式,以及数据属性 阅读全文
posted @ 2012-05-22 14:08 jerome.rong 阅读(7345) 评论(2) 推荐(0) 编辑
摘要: 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 阅读(5778) 评论(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 阅读(8066) 评论(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 阅读(7650) 评论(0) 推荐(0) 编辑
摘要: 一直以为在Mahout的在分布式上做了很多东西,很高深。最近一段时间由于工作中要实现一些分布式算法,所以硬着头皮看了一下它的源码。当时我匆忙的看过KMeans的实现,这次我的工作是在搜索引擎日志记录中找相似query。我是按照query以及它对应的点击商品来进行相似query匹配的,其实就是一个协同推荐问题。开始时,我实现了一个单机版的算法,每个query对整个query集合进行相似度计算,这相当于一个笛卡尔积的计算。在独立query较小的情况下,这个计算了还可以接受,但是一旦query的量表达,例如10w级别,单机就无法容忍了。所以很有必要把这个计算搬到hadoop上来做。于是我就分析了一下 阅读全文
posted @ 2012-05-22 10:31 jerome.rong 阅读(2205) 评论(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 阅读(1008) 评论(0) 推荐(0) 编辑