`
小网客
  • 浏览: 1243894 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Mahout之Item-based应用使用

 
阅读更多

环境:

<dependency>
	<groupId>org.apache.mahout</groupId>
	<artifactId>mahout-core</artifactId>
	<version>0.8</version>
</dependency>
<dependency>
	<groupId>org.apache.mahout</groupId>
	<artifactId>mahout-math</artifactId>
	<version>0.8</version>
</dependency>
<dependency>
	<groupId>org.apache.mahout</groupId>
	<artifactId>mahout-integration</artifactId>
	<version>0.8</version>
</dependency>

概述:

基于item的相似,首先基于用户评分矩阵构建item之间的相似矩阵,从而对用户感兴趣的item做相关tiem的推荐。

应用:

private static ItemSimilarity getISInstance(DataModel model, int i)
		throws Exception {
	ItemSimilarity instance = null;
	switch (i) {
	case 0:
		instance = new TanimotoCoefficientSimilarity(model);
		break;
	case 1:
		instance = new EuclideanDistanceSimilarity(model);
		break;
	case 2:
		instance = new LogLikelihoodSimilarity(model);
		break;
	case 3:
		instance = new CityBlockSimilarity(model);
		break;
	case 4:
		instance = new UncenteredCosineSimilarity(model);
		break;
	}
	return instance;
}

测试:

public static void test(File dataFile) throws Exception {
	DataModel model = new FileDataModel(dataFile);
	for (int i = 0; i < 5; i++) {
		ItemSimilarity itemSimilarity = getISInstance(model, i);
		ItemBasedRecommender recommender = new GenericItemBasedRecommender(
				model, itemSimilarity);
		List<RecommendedItem> recommendations = recommender
				.mostSimilarItems(107, 1000);
		for (RecommendedItem recommendation : recommendations) {
			System.out.println(recommendation.getItemID() + "->"
					+ recommendation.getValue());
		}
		System.out.println("******************");
	}

}

效果对比:

推荐TanimotoCoefficientSimilarity和EuclideanDistanceSimilarity,使用场景不一样,大家根据效果进行选用

 

0
0
分享到:
评论

相关推荐

    mahout-distribution-0.9.tar.gz

    1. **推荐系统**:Mahout提供了多种协同过滤算法,如User-Based和Item-Based推荐,以及矩阵分解技术如SVD(奇异值分解)和ALS(交替最小二乘法),这些算法常用于电商、音乐、视频等领域的个性化推荐。 2. **分类与...

    mahout-distribution-0.8-src

    1. **协同过滤(Collaborative Filtering)**:Mahout 提供了基于用户的协同过滤(User-Based Collaborative Filtering)和基于物品的协同过滤(Item-Based Collaborative Filtering)算法,用于推荐系统。...

    mahout-distribution-0.9含jar包

    1. **推荐系统**:Mahout提供了多种协同过滤算法,如User-Based和Item-Based,用于实现个性化推荐。这些算法能够分析用户的历史行为数据,预测他们可能感兴趣的新内容,从而提升用户体验。 2. **分类**:Mahout支持...

    mahout-distribution-0.5.tar.gz + 源码

    1. **推荐系统**:Mahout提供了多种协同过滤算法,如User-Based和Item-Based推荐,用于根据用户的历史行为预测他们可能感兴趣的新项目。这些算法在电商、媒体流服务等领域有广泛应用。 2. **分类与回归**:包括朴素...

    mahout-0.3.tar

    1. **推荐系统**:Mahout提供了多种协同过滤算法,如User-Based和Item-Based,用于根据用户的历史行为预测他们可能感兴趣的新物品。这些算法在电商、媒体推荐等领域有着广泛的应用。 2. **分类算法**:包括朴素...

    mahout:mahout-推荐-测试

    在 Mahout 中,推荐系统主要分为两种类型:基于用户的协同过滤(User-Based Collaborative Filtering)和基于物品的协同过滤(Item-Based Collaborative Filtering)。前者通过找到具有相似购买或评分历史的用户来...

    Mahout推荐算法usercf itemcf,slopeone三种算法实现

    本项目重点介绍了Mahout中的User-Based Collaborative Filtering(用户基协同过滤,UserCF)、Item-Based Collaborative Filtering(物品基协同过滤,ItemCF)以及Slope One算法的实现。 1. **User-Based ...

    mahout 0.5

    Mahout 0.5包含了一套完整的推荐引擎,如基于用户的协同过滤(User-Based Collaborative Filtering)和基于物品的协同过滤(Item-Based Collaborative Filtering)。这些算法可以用于电影推荐、商品推荐等场景,通过...

    mahout-0.3.zip

    3. **协同过滤**:在推荐系统中,Mahout的协同过滤算法(User-based和Item-based Collaborative Filtering)扮演了关键角色。通过分析用户的历史行为,预测他们可能对未接触过的项目感兴趣,从而实现个性化推荐。 4...

    Mahout In Action英文完整版

    1. **推荐系统**:Mahout提供了一系列推荐算法,如基于用户的协同过滤(User-Based Collaborative Filtering)、基于物品的协同过滤(Item-Based Collaborative Filtering)等。这些算法能够根据用户的历史行为数据预测...

    Mahout源码

    1. **推荐系统**:Mahout提供了多种协同过滤算法,如User-Based和Item-Based,用于根据用户的历史行为和物品相似性生成个性化推荐。这些算法对于电子商务、音乐流媒体和电影推荐等场景非常有用。 2. **分类与聚类**...

    mahout in action中的源码

    Mahout提供了基于用户的协同过滤(User-Based Collaborative Filtering)和基于物品的协同过滤(Item-Based Collaborative Filtering)算法。 4. **关联规则学习(Association Rule Learning)**:例如Apriori算法...

    Mahout算法详解

    **KNN Linear Interpolation Item-based**算法是对ItemCF的一种改进。它不仅考虑了物品间的相似度,还引入了邻近用户的影响,通过线性插值的方式调整推荐结果,提高推荐的准确度。 #### SVD推荐算法 **SVD推荐算法...

    Mahout In Action带书签完整版

    - **关键技术**:Mahout提供了多种协同过滤算法,如基于用户的协同过滤(User-Based CF)、基于物品的协同过滤(Item-Based CF)等。 - **聚类(Clustering)** - **概念**:聚类是一种无监督的学习方法,用于将...

    基于Mahout分布式协同过滤推荐算法分析与实现.pdf

    Mahout中的分布式协同过滤推荐算法主要有两种实现方式:用户(User-Based)协同过滤和物品(Item-Based)协同过滤。用户协同过滤通过找到与目标用户行为相似的其他用户,利用这些用户的行为来预测目标用户可能喜欢的...

    mahout in action

    - **案例分析**:书中通过实例介绍了如何使用Mahout构建一个简单的电影推荐系统。 ##### 3. 数据表示 - **向量化(Vectorization)**:将非数值型数据转换为数值型向量。 - **稀疏向量(Sparse Vector)**:在大数据...

    Mahout算法解析与案例实战_PDF电子书下载 带书签目录 完整版

    Mahout提供了多种推荐系统算法,其中最著名的是基于用户的协同过滤(User-Based Collaborative Filtering, UBCF)和基于物品的协同过滤(Item-Based Collaborative Filtering, IBCF)。UBCF通过计算用户之间的相似度来...

Global site tag (gtag.js) - Google Analytics