共計(jì) 1228 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
這期內(nèi)容當(dāng)中丸趣 TV 小編將會(huì)給大家?guī)?lái)有關(guān) mahout 技術(shù)的示例分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
// 首先獲得用戶本人自己借過(guò)的所有書
PreferenceArray preferencesFromUser = getDataModel().getPreferencesFromUser(userID);
// 以下獲得讀者借過(guò)的書, 其他也借過(guò)那些書的,取那些讀者借閱過(guò)的所有書,作為候選物品
FastIDSet possibleItemsIDs = new FastIDSet();
for (long itemID : preferredItemIDs) { PreferenceArray itemPreferences = dataModel.getPreferencesForItem(itemID);
int numUsersPreferringItem = itemPreferences.length();
for (int index = 0; index numUsersPreferringItem; index++) { possibleItemsIDs.addAll(dataModel.getItemIDsFromUser(itemPreferences.getUserID(index)));
}
}
possibleItemsIDs.removeAll(preferredItemIDs);
// 將所有的候選物品,與讀者借閱過(guò)的每一本書,做相似度計(jì)算
double[] similarities = getSimilarity().itemSimilarities(itemID, preferencesFromUser.getIDs());
boolean foundAPref = false;
double totalSimilarity = 0.0;
for (double theSimilarity : similarities) { if (!Double.isNaN(theSimilarity)) {
foundAPref = true;
totalSimilarity += theSimilarity;
}
}
return foundAPref ? (float) totalSimilarity : Float.NaN;
// 之后取相似度最高的 10 本書,返回
List RecommendedItem topItems = TopItems.getTopItems(howMany, possibleItemIDs.iterator(), rescorer,
estimator);
上述就是丸趣 TV 小編為大家分享的 mahout 技術(shù)的示例分析了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。
正文完
發(fā)表至: 計(jì)算機(jī)運(yùn)維
2023-08-04