随笔分类 -  mahout

摘要:详情可以参考《Mahout实战》的第六章代码:package mahout.wiki;import java.io.IOException;import java.util.ArrayList;import java.util.Collections;import java.util.Iterato... 阅读全文
posted @ 2014-08-06 16:07 jseven 阅读(648) 评论(0) 推荐(0)
摘要:推荐引擎简介推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户。通常情况下,推荐引擎的实现是通过将用户 的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特... 阅读全文
posted @ 2014-08-06 15:49 jseven 阅读(228) 评论(0) 推荐(0)
摘要:这是一个约会网站,首先需要下载http://www.occamslab.com/petricek/data/libimseti-complete.zip:这个里面包含了用户对其他人档案的评分,针对评分那个文件,事先经历了数据的预处理:提出了生成评分个数不到20个的用户,还排除了几乎对每个档案都给出相... 阅读全文
posted @ 2014-08-05 14:26 jseven 阅读(451) 评论(0) 推荐(0)
摘要:1、今天试验SlopeOne推荐算法,结果没有提示。心想是不是少了jar包,查查不少。通过网络查询定位此类所在的位置为:org.apache.mahout.cf.taste.impl.recommender.slopeone.包下面,所以去查看jar包,发现没有。查看src包也没有这个类的源码,之后... 阅读全文
posted @ 2014-08-05 13:04 jseven 阅读(1200) 评论(0) 推荐(0)
摘要:基于物品的推荐,是以物品的相似度为基础的。在mahout中意味着使用ItemSimilarity实现相似性度量,而不是UserSimilarity。他们分别是通过相似的用户和相似的物品。基于物品的:了解用户的喜好,并寻找相似的物品基于用户的:寻找相似的用户,并了解他们喜好什么。如果物品数比用户数少很... 阅读全文
posted @ 2014-08-05 12:28 jseven 阅读(1747) 评论(0) 推荐(0)
摘要:将各个计算用户相似度的方法弄过来了,可以参考下。实际运行代码数据文件 intro.csv内容: 直接复制就行了1,101,5.01,102,3.01,103,2.52,101,2.02,102,2.52,103,5.02,104,2.03,101,2.53,104,4.03,105,4.53,107... 阅读全文
posted @ 2014-08-05 11:50 jseven 阅读(907) 评论(0) 推荐(0)
摘要:聚类: 是否可以将事物归为一个簇,完全取决于我们在考量它们之间相似性时所选择的特征参数。 聚类,就是将一个给定文档中的相似项目分成不同簇的过程,我们可以将这些簇看做一组簇内相似而簇间有别的项目的集合。 1、一个算法,将书组织在一起的方法 2、相似性和不相似性的概念 3、停止的条件 簇的中... 阅读全文
posted @ 2014-08-04 15:54 jseven 阅读(142) 评论(0) 推荐(0)
摘要:1、固定大小的用户邻域package mahout;import java.io.File;import java.io.IOException;import org.apache.mahout.cf.taste.common.TasteException;import org.apache.mah... 阅读全文
posted @ 2014-08-04 14:04 jseven 阅读(468) 评论(0) 推荐(0)
摘要:数据集下载地址:http://grouplens.org/datasets/movielens/ 之前用的是100K的,现在需要下载MovieLens 10M,使用里面的ratings.dat前提:因为文件不符合mahout要求的文件输入格式,需要进行转换,但是example里提供了一个解析这个文件... 阅读全文
posted @ 2014-08-04 13:17 jseven 阅读(1181) 评论(0) 推荐(0)
摘要:基于用户的推荐和基于物品的推荐两种算法,均依赖于两个事物(用户或物品)之间的相似性度量(等同性定义),相似性度量的方法:PearsonCorrealation皮尔逊相关系数,对数似然值Loglikelihood,斯皮尔曼相关系数SpearmanCorrelation,谷本系数TanimotoCoef... 阅读全文
posted @ 2014-08-04 13:03 jseven 阅读(361) 评论(0) 推荐(0)
摘要:直接上代码吧:package mahout;import java.io.File;import org.apache.mahout.cf.taste.common.TasteException;import org.apache.mahout.cf.taste.eval.DataModelBuil... 阅读全文
posted @ 2014-08-04 12:48 jseven 阅读(734) 评论(0) 推荐(0)
摘要:用户和物品是关联的,但是没有这种关联的强度描述,如用户浏览文章。无偏好值的内存实现: 重要是datamodel和modelbuilder的实现。package mahout;import java.io.File;import org.apache.mahout.cf.taste.common.T... 阅读全文
posted @ 2014-08-04 11:45 jseven 阅读(637) 评论(0) 推荐(0)
摘要:1、内存级别的datamodel 就是直接采用程序进行构建的那种。 示例: package mahout;import org.apache.mahout.cf.taste.impl.common.FastByIDMap;import org.apache.mahout.cf.taste.im... 阅读全文
posted @ 2014-08-04 10:53 jseven 阅读(1675) 评论(0) 推荐(0)
摘要:Preference对象:单个用户Id,物品ID和偏好值,实现GenericPreferencePreferenceArray数组,单个用户所有偏好值数组,实现GenericPreferenceArray代码示例:package mahout;import org.apache.mahout.cf.... 阅读全文
posted @ 2014-08-04 10:23 jseven 阅读(474) 评论(0) 推荐(0)
摘要:使用GroupLens数据集ua.base这是一个tab分割的文件,用户Id,物品Id,评分(偏好值),以及附加信息。可用吗?之前使用的是CSV格式,现在是tsv格式,可用,使用FileDataModel对mahout推荐2中的评估程序使用这个数据集测试:package mahout;import ... 阅读全文
posted @ 2014-08-04 10:01 jseven 阅读(839) 评论(0) 推荐(0)
摘要:通过估计偏好值来生成推荐结果并非绝对必要。给出一个从优到劣的推荐列表对于许多场景都够用了,而不必包含估计的偏好值。查准率:在top结果中相关结果的比例查全率:所有相关结果,包含在top结果中的比例对上个例子进行测试:package mahout;import java.io.File;import ... 阅读全文
posted @ 2014-08-04 09:49 jseven 阅读(1028) 评论(0) 推荐(0)
摘要:设计好了一个推荐程序,如何来完成评估呢?一般是使用一个真实数据的样例作为测试数据来仿真,来看估计值和实际值的差别,0.0意味着完美的估计,就是没有差别。一是使用平均差值(直观,易于理解),一是使用均方根。针对mahout推荐1的推荐程序进行评估:package mahout;import java.... 阅读全文
posted @ 2014-08-04 09:24 jseven 阅读(562) 评论(0) 推荐(0)
摘要:1、准备数据:intro.csv:1,101,5.01,102,3.01,103,2.52,101,2.02,102,2.52,103,5.02,104,2.03,101,2.53,104,4.03,105,4.53,107,5.04,101,5.04,103,3.04,104,4.54,106,4... 阅读全文
posted @ 2014-08-04 08:55 jseven 阅读(275) 评论(0) 推荐(0)
摘要:Mahout是Hadoop的一种高级应用。运行Mahout需要提前安装好Hadoop。1、下载解压安装。http://labs.renren.com/apache-mirror/mahout/下载,直接解压及可。hadoop@ubuntu:~$ tar -zxvf mahout-distributi... 阅读全文
posted @ 2014-07-25 15:41 jseven 阅读(221) 评论(0) 推荐(0)