[英]mahout Recommender
Apache Mahout推薦文檔提到了以下內容:
// Construct the list of pre-computed correlations
Collection <GenericItemSimilarity.ItemItemSimilarity> correlations = ...;
我不確定如何在上面的線上完成實際的構造。 有人能提供一個例子嗎?
ItemSimilarity itemSimilarity = new GenericItemSimilarity(correlations);
此示例引用的情況是,您已經通過Hadoop作業計算了相似性,並將其存儲在文件系統或數據庫中。 正如構造函數文檔所示:
A "generic" {@link ItemSimilarity} which takes a static list of precomputed item similarities and bases its responses on that alone. The values may have been precomputed offline by another process, stored in a file, and then read and fed into an instance of this class.
如果你有數千萬或更少的推薦,你可以簡單地計算相似性並使用另一個GenericItemSimilarity
構造函數 - GenericItemSimilarity(ItemSimilarity otherSimilarity, DataModel dataModel)
例如:
DataModel dataModel = new FileDataModel(new File("path://to/file.csv"));
ItemSimilarity itemSimilarity = new LogLikelihoodSimilarity(dataModel);
ItemSimilarity itemSimilarity = new GenericItemSimilarity(itemSimilarity, dataModel);
這里沒有什么神奇之處,它只是建議你創建一堆ItemItemSimilarity對象,一個對應於你知道的每個項目 - 項目相似性。
Collection<GenericItemSimilarity.ItemItemSimilarity> correlations =
new ArrayList<GenericItemSimilarity.ItemItemSimilarity>();
correlations.add(new GenericItemSimilarity.ItemItemSimilarity(1, 2, 0.5));
...
您可以通過這種方式或任何其他方式來實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.