`
li.oo
  • 浏览: 51509 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

运行“基于 Apache Mahout 构建社会化推荐引擎”中例子遇到的问题

 
阅读更多

       下载了MovieSite这个包,解压导入Eclipse遇到很多问题。记录下步骤

       首先导入eclipse后,build path中引入的几个tomcat library路径不正确。需要根据你的tomcat路径,重新引入。还有需要下载mysql 驱动,我下载的是mysql-connector-java-5.1.10-bin.jar,导入build path。如果你是通过在eclipse中的tomcat plugin(com.sysdeo.eclipse.tomcat)来运行这个web程序,还需要将该驱动jar包拷贝一份到tomcat的lib目录下。

       然后修改tomcat的server.xml或者在拷贝一个context xml到conf/Catalina/localhost目录下。加入类似下面的内容

    <Context docBase="c:/MovieSite" path="/MovieSite" reloadable="true" >

      <Resource name="jdbc/movie"   //要与web.xml中的<res-ref-name>一致

auth="Container" 

type="javax.sql.DataSource" 

driverClassName="com.mysql.jdbc.Driver" 

url="jdbc:mysql://192.168.21.152/movie" 

username="root"     //your mysql account name

password="root"     // your mysql password

maxActive="100" 

maxIdle="30" 

maxWait="10000"/> 

      </Context>

       然后要根据table.sql的脚步创建4个table,再将movies.dat数据导入。接着在user表中自己插入一笔数据,因为例子没提供,但后面导入ratings.dat必须要有user表的userID父键关联。所以ID号以ratings中的userID为参照。因为ratings.dat中数据较多,而你不可能将ratings中的userID一一插入到user表(除非你有兴趣或者其它工具帮您插入),所以导入ratings.dat时,会报异常,只会导入在你user表中存在的userID作父键的数据。不用太计较,能看到例子的效果就行。

      最后启动tomcat,打开浏览器,输入http://localhost:8080/MovieSite,看到输入框,输入你的user email,密码可以不输。就可以看到内容了。

 

看到http://blog.csdn.net/softwarehe/article/details/7465151中将mahout-core-0.2换成mahout-core-0.5,问题更多,还会有代码编译错误,但也可以解决。

com.ibm.taste.example.movie.recommender包中所有代码都会提示错误,但主要是两种

一是类似ItemBasedRecommender类中的错误提示:

          The type ItemBasedRecommender must implement the inherited abstract method Recommender.recommend(long, int, IDRescorer), 

          The method recommend(long, int, IDRescorer) in the type Recommender is not applicable for the arguments (long, int, Rescorer<Long>)

       遇到这种状况,就将该方法屏蔽掉,然后重新加载未实现方法,同时将调用this.recommend(long ,  howMany Rescorer<Long> )改成调用this.recommend(long , int ,IDRescorer).

二是MovieDataModel类中提示:

         The constructor MySQLJDBCDataModel(DataSource, String, String, String, String) is undefined

         先添加变量public final static String TIMESTAMP_COLUMN = "timestamp";

        然后将super(lookupDataSource(dataSourceName), PERFERENCETABLE, USERID_COLUMN, ITEMID_COLUMN, PERFERENCE_COLUMN)改成super(lookupDataSource(dataSourceName), PERFERENCETABLE, USERID_COLUMN, ITEMID_COLUMN, PERFERENCE_COLUMN,TIMESTAMP_COLUMN); 

 就可以了。

 

  解决了编译问题,运行tomcat时可能还会报异常,需要另外两个jar:guava-r03.jar,mahout-math-0.5.jar。其它步骤和mahout-core-0.2一样

 

 

 

 

 

 

分享到:
评论

相关推荐

    实践《基于 Apache Mahout 构建社会化推荐引擎》

    具体步骤,参见博客:http://blog.csdn.net/fufengrui/article/details/17022535

    如何成功运行Apache Mahout的Taste Webapp-Mahout推荐教程-Maven3.0.5-JDK1.6-Mahout0.5

    在Mahout Taste Webapp工程中,需要添加对mahout-examples的依赖,这一步骤是必须的,因为示例代码提供了实际运行推荐系统所必需的组件。 6. 配置推荐引擎的属性 在Mahout Taste Webapp的recommender.properties...

    使用 Taste 构建推荐引擎实例 – 电影推荐引擎

    “基于 Apache Mahout 构建社会化推荐引擎”中的“使用 Taste 构建推荐引擎实例 – 电影推荐引擎”的工程文件,环境:MyEclipse8.5+JDK1.6+TOMCAT6。直接下载,用MyEclipse导入项目即可。

    基于Hadoop和Mahout的分布式推荐引擎的设计.pdf

    在给定文件的信息中,虽然科技情报开发与经济并非与标题“基于Hadoop和Mahout的分布式推荐引擎的设计”直接相关,但其中涉及的一些概念和知识点,例如分布式系统的设计与应用,仍然可以为设计分布式推荐引擎提供重要...

    Learning Apache Mahout Classification

    This book is a practical guide that explains the classification algorithms provided in Apache Mahout with the help of actual examples. Starting with the introduction of classification and model ...

    基于Mahout实现协同过滤推荐算法的电影推荐系统.zip

    本项目"基于Mahout实现协同过滤推荐算法的电影推荐系统"旨在利用Apache Mahout这一开源机器学习库,构建一个能够为用户推荐个性化电影的系统。以下将详细介绍该系统的相关知识点: 1. **协同过滤推荐算法**: 协同...

    Apache Mahout 简介

    Apache Mahout 简介

    recommender:SpringBoot + Apache Mahout 推荐引擎 基于用户评分数据推荐相关电影

    在本项目中,我们主要探讨如何使用SpringBoot框架与Apache Mahout构建一个推荐系统,该系统专注于基于用户评分数据来推荐相关的电影。首先,让我们深入理解这个系统的各个组成部分。 **SpringBoot** SpringBoot是由...

    人工智能-推荐系统-新闻推荐-基于Mahout的新闻推荐系统

    相关技术 推荐算法 基于用户的协同过滤 ...调用Deeplearning4j中构建paragraphvector的方法,通过doc2vec构建VSM 用Gensim会更方便点 基于热点的推荐 统计最高浏览量 过滤一定时间前的新闻保证热点的准确

    Apache Mahout Cookbook

    《Apache Mahout Cookbook》是一本深入探讨Apache Mahout框架的指南,旨在帮助读者掌握并熟练应用Mahout的各种功能,从基础设置到高级分析技术。本书不仅涵盖了安装与配置Mahout所需的环境,还提供了丰富的示例代码...

    基于Apache Mahout框架实现的具有协同过滤功能的推荐系统源码+数据+项目操作说明.zip

    基于Apache Mahout框架实现的具有协同过滤功能的推荐系统源码+数据+项目操作说明.zip 该项目是使用Apache Mahout框架创建的具有协同过滤功能的推荐系统。该系统使用一个音乐推荐数据集作为研究目的的输入,但可以...

    Apache Mahout Cookbook code

    Thank you for requesting the download for Apache Mahout Cookbook. Please click the following link to download the code:

    apache-mahout-distribution-0.12.2.tar.gz

    Apache Mahout是一个基于Hadoop的大规模数据集上实现的机器学习库,它的主要目标是提供简单易用的算法,用于构建智能应用。在标题中提到的"apache-mahout-distribution-0.12.2.tar.gz"是Mahout的一个发行版本,版本...

    apache-mahout-distribution-0.11.0-src.zip

    在"apache-mahout-distribution-0.11.0-src.zip"这个压缩包中,您将找到Mahout 0.11.0版本的源代码,这对于开发者和研究者来说是一个宝贵的资源,他们可以深入理解算法的内部工作原理,进行定制化开发或优化。...

    Apache Mahout Essentials(PACKT,2015)

    Apache Mahout is a scalable machine learning library with algorithms for clustering, classification, and recommendations. It empowers users to analyze patterns in large, diverse, and complex datasets ...

    Apache_Mahout_Cookbook(高清版)

    Apache Mahout是一个高度可扩展的机器学习库,主要用于构建智能推荐系统、聚类分析以及其他数据挖掘任务。该库利用了Apache Hadoop的强大分布式计算能力,使得处理大规模数据集变得高效可行。 #### 二、安装与配置 ...

    基于spark、mahout和spring boot构建的推荐系统.zip

    在本项目中,我们主要探讨如何利用Apache Spark、Apache Mahout和Spring Boot技术构建一个推荐系统。推荐系统是人工智能领域的一个重要应用,它通过分析用户的行为和偏好,为用户提供个性化的产品或服务推荐。以下是...

    mahout的基于用户的推荐Demo

    运行代码会展示如何使用Mahout API完成上述步骤,从而在本地环境中构建并运行一个简单的用户基于的推荐系统。 总结,这个基于用户的推荐Demo展示了如何利用Apache Mahout来创建和实施一个基本的推荐系统。通过理解...

    MovieRecommender基于Mahout实现协同过滤推荐算法的电影推荐系统^

    本文将深入探讨一个基于Apache Mahout实现的电影推荐系统——MovieRecommender,它利用协同过滤推荐算法,为用户提供个性化的电影推荐。 协同过滤是一种广泛应用于推荐系统的机器学习方法,主要分为用户-用户协同...

Global site tag (gtag.js) - Google Analytics