运行Apache Mahout的Taste Webapp例子
生活随笔
收集整理的這篇文章主要介紹了
运行Apache Mahout的Taste Webapp例子
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
apache mahout 是 apache software foundation(asf) 旗下的一個(gè)開(kāi)源項(xiàng)目,提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開(kāi)發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。經(jīng)典算法包括聚類(lèi)、分類(lèi)、協(xié)同過(guò)濾、進(jìn)化編程等等,并且,在 mahout還支持在hadoop集群中運(yùn)行,使這些算法可以更高效的運(yùn)行在云計(jì)算環(huán)境中。
目前mahout已經(jīng)發(fā)布的最高版本是0.5。在這里https://cwiki.apache.org/confluence/display/mahout/buildingmahout可以找到mahout的下載路徑,可以下載0.5版本的源碼壓縮包,也可以從svn中co主干代碼。但是主干代碼0.6-snapshot中沒(méi)有找到taste-webapp相關(guān)代碼。
后面的介紹都是以0.5版本的源代碼包為基礎(chǔ)做的介紹。
1.下載代碼后,解壓。然后命令行進(jìn)入mahout-distribution-0.5目錄執(zhí)行
mvn -dskiptests install
將mahout相關(guān)模塊進(jìn)行編譯,并安裝到本地maven倉(cāng)庫(kù)中
如果出現(xiàn)內(nèi)存溢出,可以先調(diào)大jvm的堆內(nèi)存大小
export maven_opts=-xmx1024m
2.生成eclipse工程,本步驟可選,但是建議進(jìn)行。因?yàn)樵趀clipse中修改java工程代碼比較方便。還是在mahout-distribution-0.5目錄執(zhí)行以下命令
mvn eclipse:eclipse
3.如果執(zhí)行了第2步,請(qǐng)繼續(xù)執(zhí)行此步驟。在eclipse中導(dǎo)入mahout-distribution-0.5下的所有工程,這個(gè)就不詳細(xì)介紹了。
4.修改mahout-taste-webapp工程的pom.xml,添加對(duì)mahout-examples的依賴(lài)
<dependency> <groupid>${project.groupid}</groupid> <artifactid>mahout-examples</artifactid> <version>0.5</version></dependency>
5.在mahout-taste-webapp工程的recommender.properties中添加
recommender.class=org.apache.mahout.cf.taste.example.grouplens.grouplensrecommender
6.從http://www.grouplens.org/node/73上下載數(shù)據(jù)文件,我下載的是1m ratings data set (.tar.gz)經(jīng)過(guò)測(cè)試驗(yàn)證通過(guò),其他數(shù)據(jù)文件請(qǐng)自行驗(yàn)證。解壓以后將ratings.dat復(fù)制到mahout-taste-webapp工程的/org/apache/mahout/cf/taste/example/grouplens/下,至于為什么是這個(gè)路徑?請(qǐng)大家去看這個(gè)類(lèi)grouplensdatamodel。
7.現(xiàn)在準(zhǔn)備工作基本完成了,cd到taste-web我們來(lái)運(yùn)行一把
mvn jetty:run-war
8.訪問(wèn)一下http://localhost:8080/recommenderservlet?userid=1就能看到效果,這個(gè)servlet還支持其他參數(shù)請(qǐng)參看recommenderservlet的javadoc說(shuō)明
現(xiàn)在可以開(kāi)始mahout的機(jī)器學(xué)習(xí)之旅了。
目前mahout已經(jīng)發(fā)布的最高版本是0.5。在這里https://cwiki.apache.org/confluence/display/mahout/buildingmahout可以找到mahout的下載路徑,可以下載0.5版本的源碼壓縮包,也可以從svn中co主干代碼。但是主干代碼0.6-snapshot中沒(méi)有找到taste-webapp相關(guān)代碼。
后面的介紹都是以0.5版本的源代碼包為基礎(chǔ)做的介紹。
1.下載代碼后,解壓。然后命令行進(jìn)入mahout-distribution-0.5目錄執(zhí)行
mvn -dskiptests install
將mahout相關(guān)模塊進(jìn)行編譯,并安裝到本地maven倉(cāng)庫(kù)中
如果出現(xiàn)內(nèi)存溢出,可以先調(diào)大jvm的堆內(nèi)存大小
export maven_opts=-xmx1024m
2.生成eclipse工程,本步驟可選,但是建議進(jìn)行。因?yàn)樵趀clipse中修改java工程代碼比較方便。還是在mahout-distribution-0.5目錄執(zhí)行以下命令
mvn eclipse:eclipse
3.如果執(zhí)行了第2步,請(qǐng)繼續(xù)執(zhí)行此步驟。在eclipse中導(dǎo)入mahout-distribution-0.5下的所有工程,這個(gè)就不詳細(xì)介紹了。
4.修改mahout-taste-webapp工程的pom.xml,添加對(duì)mahout-examples的依賴(lài)
<dependency> <groupid>${project.groupid}</groupid> <artifactid>mahout-examples</artifactid> <version>0.5</version></dependency>
5.在mahout-taste-webapp工程的recommender.properties中添加
recommender.class=org.apache.mahout.cf.taste.example.grouplens.grouplensrecommender
6.從http://www.grouplens.org/node/73上下載數(shù)據(jù)文件,我下載的是1m ratings data set (.tar.gz)經(jīng)過(guò)測(cè)試驗(yàn)證通過(guò),其他數(shù)據(jù)文件請(qǐng)自行驗(yàn)證。解壓以后將ratings.dat復(fù)制到mahout-taste-webapp工程的/org/apache/mahout/cf/taste/example/grouplens/下,至于為什么是這個(gè)路徑?請(qǐng)大家去看這個(gè)類(lèi)grouplensdatamodel。
7.現(xiàn)在準(zhǔn)備工作基本完成了,cd到taste-web我們來(lái)運(yùn)行一把
mvn jetty:run-war
8.訪問(wèn)一下http://localhost:8080/recommenderservlet?userid=1就能看到效果,這個(gè)servlet還支持其他參數(shù)請(qǐng)參看recommenderservlet的javadoc說(shuō)明
現(xiàn)在可以開(kāi)始mahout的機(jī)器學(xué)習(xí)之旅了。
總結(jié)
以上是生活随笔為你收集整理的运行Apache Mahout的Taste Webapp例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Vue+Openlayers创建热力图
- 下一篇: 美团美食板块的token加密