https://github.com/apache/mahout/blob/master/mrlegacy/src/main/java/org/apache/mahout/cf/taste/GenericRecommenderIRStatsEvaluator.java
130~134行用意在從原始資料集dataModel,
參考用戶標準答案集relevantItemIDs, 重新製作一份userID專用的訓練集trainingUser s:
// 建立一個空的喜好容器,容量為資料集所有用戶數,當成初始訓練集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/ GenericRelevantItemsDataSplitt er.java
dataSplitter.processOtherUser( userID, relevantItemIDs,
trainingUsers, it2.nextLong(), dataModel);
}
130~134行用意在從原始資料集dataModel,
// 建立一個空的喜好容器,容量為資料集所有用戶數,當成初始訓練集trainingUsers
FastByIDMap
LongPrimitiveIterator it2 = dataModel.getUserIDs(); // 取得資料集所有用戶之列舉器
// 若遇userID用戶,就只取其所有資料集喜好,扣掉標準答案relevantItemIDs,加入訓練集;
// 若遇其他用戶,則取其所有資料集喜好,直接加入訓練集;
// 詳https://github.com/apache/
}