<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    http://www.linuxidc.com/Linux/2012-07/65008.htm


    推薦器實現類在:

    org.apache.mahout.cf.taste.Hadoop.item.RecommenderJob。其輸入數據放在默認輸入目錄下,使用mapred.input.dir參數指定的輸入數據,是userID,itemID[,preferencevalue]值對形成的文本文件。可以有多個文件存放在該目錄下。

    運行時相關參數如下:

    numRecommendations:為每個用戶產生的推薦個數 "Number of recommendations per user"

    usersFile:包含待推薦用戶的用戶ID列表;

    itemsFile:包含待推薦項目的項目ID列表;

    filterFile:用來做推薦過濾的訓練文件,內容為使用逗號分隔的userID,itemID對,

    booleanData:不帶推薦值的訓練數據文件;

    maxPrefsPerUser:Maximum number of preferences considered per user in final recommendation phase;

    minPrefsPerUser:ignore users with less preferences than this in the similarity computation ;   maxSimilaritiesPerItem:Maximum number of similarities considered per item;

    maxurrencesPerItem:try to cap the number of urrences per item to this;

    similarityClassname:Name of distributed similarity class to instantiate, alternatively use one of the predefined similarities,可用的相似度類有:

     SIMILARITY_URRENCE(DistributedurrenceVectorSimilarity.class),

     SIMILARITY_EUCLIDEAN_DISTANCE(DistributedEuclideanDistanceVectorSimilarity.class),

     SIMILARITY_LOGLIKELIHOOD(DistributedLoglikelihoodVectorSimilarity.class),

     SIMILARITY_PEARSON_CORRELATION(DistributedPearsonCorrelationVectorSimilarity.class),

     SIMILARITY_TANIMOTO_COEFFICIENT(DistributedTanimotoCoefficientVectorSimilarity.class),

     SIMILARITY_UNCENTERED_COSINE(DistributedUncenteredCosineVectorSimilarity.class),

     SIMILARITY_UNCENTERED_ZERO_ASSUMING_COSINE(DistributedUncenteredZeroAssumingCosineVectorSimilarity.class),

     SIMILARITY_CITY_BLOCK(DistributedCityBlockVectorSimilarity.class);

    RecommendJob運行一系列MR任務,在開發時,可以根據自己的需要進行改寫。但是RecommendJob申明成final,這個比較頭疼。

    1.itemIDIndex 任務:

    map:解析輸入的itemsFile;將長整型的ID通過算法映射到整形的序號上,以便后續處理。由于處理中涉及到矩陣計算,每一個項目對應矩陣中的一個維度,所以必須處理成整形;產生序號-ID值對;

    reducer:對序號-ID對進行驗證,產生序號-ID值對;

    2.toUserVector任務:

    ToItemPrefsMapper:從filterFile中讀取偏好信息,轉成用戶-偏好值對。

    ToUserVectorReducer:將用戶-偏好*,轉成用戶-偏好矢量對,矢量表即為所有的ItemID。

    3.countUsers 任務:計算用戶數量,輸出為用戶數量--空。

    4.maybePruneAndTransponse,一個名稱很奇怪的任務。

    MaybePruneRowsMapper:輸入為任務2的輸出,生成針對每個item項目的推薦值矩陣單元,即Item序號和矩陣單元的值對。

    ToItemVectorsReducer:輸出為矩陣行號(即Item序號)-矩陣行矢量

    5. RowSimilarityJob: 計算相似度矩陣:這是引用一個現有的任務來完成計算,輸入為任務4輸出的矩陣;輸出為相似度矩陣,即item-相似度矢量。其中相似度矢量是當前item和其他item的相似度值形成的矢量。

    6. prePartialMultiply1:輸入為任務5的輸出,將相似度矩陣中的對角線行,即(N,N)數值設置為Double.NaN,為后續計算做準備;

    7. prePartialMultiply2:輸入為任務2的輸出,將user-(項目矢量),拆分成item-(userId, 推薦值)對。如果設置了usersFile,則僅處理usersFile中指定的用戶。

    8. partialMultiply: 合并任務6和7的額輸出,變成item-(相似度矢量、userId、推薦值) 對。

    9. itemFiltering:如果有filterFile,則處理filterFile文件,轉換成item-(相似度矢量、userId、推薦值)對。其中相似度矢量的值為0;

    aggregateAndRecommend:將8和9的輸出合并作為輸入,

    PartialMultiplyMapper: 將item-(相似度矢量、userId、推薦值)集轉換成userId-(推薦值,相似度矢量)值對;

    AggregateAndRecommendReducer:匯總map輸出,產生userId-((itemId, 推薦值)列表)值對,其中(itemId, 推薦值)列表是按照推薦度來排序,如果maxPrefsPerUser、minPrefsPerUser、maxurrencesPerItem,則只產 生符合條件的userId值對。

    posted on 2014-12-04 14:39 SIMONE 閱讀(680) 評論(0)  編輯  收藏 所屬分類: hadoop mahout

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 有码人妻在线免费看片| 精品国产免费一区二区三区| 四虎影在线永久免费观看| h视频免费高清在线观看| 久久久久亚洲AV无码专区体验| 在线观看免费a∨网站| 亚洲黄片手机免费观看| 亚洲成人黄色网址| 亚洲情侣偷拍精品| 四虎最新永久免费视频| 一级片在线免费看| 亚洲国产精品久久丫| ZZIJZZIJ亚洲日本少妇JIZJIZ| 8x8×在线永久免费视频| 人成电影网在线观看免费| 亚洲乱码卡一卡二卡三| 久久久久亚洲?V成人无码| 在线视频观看免费视频18| a级毛片毛片免费观看久潮喷 | 亚洲欧洲自拍拍偷午夜色| va亚洲va日韩不卡在线观看| 131美女爱做免费毛片| h片在线播放免费高清| 亚洲日本va一区二区三区 | 2020国产精品亚洲综合网| 日韩va亚洲va欧洲va国产| 日本免费网站在线观看| 最近中文字幕大全免费视频| 九九综合VA免费看| 亚洲熟伦熟女专区hd高清| 婷婷亚洲久悠悠色悠在线播放| 免费一级毛片不卡不收费| 好先生在线观看免费播放| 少妇人妻偷人精品免费视频| eeuss影院ss奇兵免费com| 国产精品国产亚洲区艳妇糸列短篇| 亚洲AV日韩精品久久久久久| 国产亚洲精品成人AA片新蒲金 | 亚洲乱码中文字幕久久孕妇黑人| 午夜视频免费观看| 青青草a免费线观a|