mahout training set for irstats

https://github.com/apache/mahout/blob/master/mrlegacy/src/main/java/org/apache/mahout/cf/taste/GenericRecommenderIRStatsEvaluator.java

130~134行用意在從原始資料集dataModel,
參考用戶標準答案集relevantItemIDs,重新製作一份userID專用的訓練集trainingUsers:

//  建立一個空的喜好容器,容量為資料集所有用戶數,當成初始訓練集trainingUsers

FastByIDMap trainingUsers = new FastByIDMap(dataModel.getNumUsers());
LongPrimitiveIterator it2 = dataModel.getUserIDs();  // 取得資料集所有用戶之列舉器


while (it2.hasNext())
{


   // 就每一列舉用戶it2.nextLong(),從資料集dataModel依下法適當取得喜好,加入訓練集trainingUsers
   //    若遇userID用戶,就只取其所有資料集喜好,扣掉標準答案relevantItemIDs,加入訓練集;
   //    若遇其他用戶,則取其所有資料集喜好,直接加入訓練集;
   // 詳https://github.com/apache/mahout/blob/master/mrlegacy/src/main/java/org/apache/mahout/cf/taste/impl/eval/GenericRelevantItemsDataSplitter.java


   dataSplitter.processOtherUser(userID, relevantItemIDs, trainingUsers, it2.nextLong(), dataModel);
}

how to deal with metric scale inconsistency in topn recommendation evaluation

🎯 推薦系統一般會回傳前 N 個排名的物品清單給用戶,稱為 Top‑N 推薦。 遇到推薦模型須要訓練及評估時,習慣先蒐集用戶與物品的互動資料,再將資料拆分成沒有重疊的訓練集及測試集。 模型在訓練時只看得到訓練集,評估時則拿測試集作為驗證的標準答案,以免作...

總網頁瀏覽量