mahout 0.5 taste_web網站服務建置法
----------------------------------
前言:
因為mahout新版不再提供taste_web網站服務建置範例,
ssaroha特將mahout 0.5版的taste_web範例置於如下github網站,方便參考:
https://github.com/ssaroha/mahout-recommender-webservice
其目錄結構如下:
./mahout-recommender-service/
.git/
README # 安裝說明
create_service.sh # 建立新推薦網站服務指令
mvn archetype:generate \
-DarchetypeGroupId=org.apache.maven.archetypes \
-DarchetypeArtifactId=maven-archetype-webapp \
-DgroupId=com.mykidscart.mahout_service \
-DartifactId=mahout_service \
-Dpackage=com.mykidscart.mahout_service \
-Dversion=1.0.0 \
-DjarName=mahout_service \
-Dsource=1.6 \
mahout_service/
pom.xml
src/main/webapp/WEB-INF/web.xml # web-app/servlet/init-parm/parm-value決定推薦器
src/main/java/com/mykidscart/mahout_service/RecommenderServlet.java
src/main/resources/movies.dat # 3952 movies
src/main/resources/ratings.dat # 1M movie ratings of 6K users
target/mahout_service.war
預設推薦器為org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommender
以下為復原taste_web範例步驟:
# 建立git用戶身份,可作可不作
# git config --global user.name "yyy zzz"
# git config --global user.email "xxxx@gmail.com"
# git config --global credential.helper cache
# git config --global credential.helper "cache --timeout=3600"
# 在當前目錄復原 ./mahout-recommender-service/ 架構
git clone https://github.com/ssaroha/mahout-recommender-webservice.git
# 產生 target/mahout_service.war
cd ./mahout-recommender-service/
mvn package
### 添加資料檔供讀取
cp src/main/resources/movies.dat target/classes/org/apache/mahout/cf/taste/example/grouplens/
cp src/main/resources/ratings.dat target/classes/org/apache/mahout/cf/taste/example/grouplens/
mvn package
######## 測試法1: jetty ##############
# 導入jetty插件,提供.war執行功能
vi pom.xml
<project>
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.1.2.v20100523</version>
<configuration>
<webApp>${project.build.directory}/${project.artifactId}.war</webApp>
</configuration>
</plugin>
</plugins>
</build>
</project>
# 用jetty啟動.war推薦服務
mvn -Djetty.port=7070 jetty:run-war
# 用瀏覽器測試推薦服務
lynx http://localhost:7070/RecommenderServlet?userID=111&howMany=400
######## 測試法2: tomcat ##############
# 部署 mahout_service.war 到 tomcat 網站
# cp ./target/mahout_service.war apache-tomcat-7.0.28/webapps/
# unzip -d mahout_service ./mahout_service.war
cp ./target/mahout_service.war /usr/share/tomcat6/webapps/
# unzip -d mahout_service ./mahout_service.war
# 用瀏覽器測試推薦服務
lynx http://localhost:8080/mahout_service/RecommenderServlet?userID=111&howMany=400
5.5 3233
5.3458047 557
5.0 134
5.0 1434
4.93471 3245
4.899492 2503
4.816771 2198
4.815301 3888
4.788968 53
4.77251 787
4.75434 3338
.....
how to set up mahout 0.5 taste-web web service
訂閱:
張貼留言 (Atom)
how to deal with metric scale inconsistency in topn recommendation evaluation
🎯 推薦系統一般會回傳前 N 個排名的物品清單給用戶,稱為 Top‑N 推薦。 遇到推薦模型須要訓練及評估時,習慣先蒐集用戶與物品的互動資料,再將資料拆分成沒有重疊的訓練集及測試集。 模型在訓練時只看得到訓練集,評估時則拿測試集作為驗證的標準答案,以免作...
沒有留言:
張貼留言