簡體   English   中英

mahout推薦人

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM