java.lang.Object
es.uam.eps.ir.ranksys.rec.AbstractRecommender<U,​I>
es.uam.eps.ir.ranksys.rec.fast.AbstractFastRecommender<U,​I>
es.uam.eps.ir.ranksys.rec.fast.FastRankingRecommender<U,​U>
es.uam.eps.ir.relison.links.recommendation.UserFastRankingRecommender<U>
es.uam.eps.ir.relison.links.recommendation.algorithms.standalone.foaf.Cosine<U>
Type Parameters:
U - type of the users
All Implemented Interfaces:
es.uam.eps.ir.ranksys.core.index.ItemIndex<U>, es.uam.eps.ir.ranksys.core.index.UserIndex<U>, es.uam.eps.ir.ranksys.fast.index.FastItemIndex<U>, es.uam.eps.ir.ranksys.fast.index.FastUserIndex<U>, es.uam.eps.ir.ranksys.rec.fast.FastRecommender<U,​U>, es.uam.eps.ir.ranksys.rec.Recommender<U,​U>

public class Cosine<U>
extends UserFastRankingRecommender<U>
Recommender using the cosine similarity to produce recommendations. It considers each user as a vector, where the i-th coordinate is the weight of the link between u and the i-th user, and takes the cosine between two user vectors as the recommendation score.

Reference: Lü, L., Zhou. T. Link Prediction in Complex Networks: A survey. Physica A: Statistical Mechanics and its Applications, 390(6), March 2011, pp. 1150-1170.

  • Field Summary

    Fields 
    Modifier and Type Field Description
    private EdgeOrientation uSel
    Neighborhood selection for the target users.
    private java.util.Map<java.lang.Integer,​java.lang.Double> uSizes
    Map containing the length of the neighborhoods of the target users.
    private EdgeOrientation vSel
    Neighborhood selection for the candidate users.
    private java.util.Map<java.lang.Integer,​java.lang.Double> vSizes
    Map containing the length of the neighborhoods of the candidate users.

    Fields inherited from class es.uam.eps.ir.relison.links.recommendation.UserFastRankingRecommender

    graph

    Fields inherited from class es.uam.eps.ir.ranksys.rec.fast.AbstractFastRecommender

    iIndex, uIndex
  • Constructor Summary

    Constructors 
    Constructor Description
    Cosine​(FastGraph<U> graph, EdgeOrientation uSel, EdgeOrientation vSel)
    Constructor.
  • Method Summary

    Modifier and Type Method Description
    it.unimi.dsi.fastutil.ints.Int2DoubleMap getScoresMap​(int uidx)  

    Methods inherited from class es.uam.eps.ir.relison.links.recommendation.UserFastRankingRecommender

    getFreq, getFreq, getGraph

    Methods inherited from class es.uam.eps.ir.ranksys.rec.fast.FastRankingRecommender

    getRecommendation

    Methods inherited from class es.uam.eps.ir.ranksys.rec.fast.AbstractFastRecommender

    getRecommendation, getRecommendation, getRecommendation, getRecommendation, getRecommendation, getRecommendation, getRecommendation, iidx2item, item2iidx, numItems, numUsers, uidx2user, user2uidx

    Methods inherited from class es.uam.eps.ir.ranksys.rec.AbstractRecommender

    getRecommendation, getRecommendation

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface es.uam.eps.ir.ranksys.fast.index.FastItemIndex

    containsItem, getAllIidx, getAllItems, iidx2item, iidx2item, item2iidx, item2iidx

    Methods inherited from interface es.uam.eps.ir.ranksys.fast.index.FastUserIndex

    containsUser, getAllUidx, getAllUsers, uidx2user, uidx2user, user2uidx, user2uidx

    Methods inherited from interface es.uam.eps.ir.ranksys.rec.Recommender

    getRecommendation, getRecommendation
  • Field Details

    • uSizes

      private final java.util.Map<java.lang.Integer,​java.lang.Double> uSizes
      Map containing the length of the neighborhoods of the target users.
    • vSizes

      private final java.util.Map<java.lang.Integer,​java.lang.Double> vSizes
      Map containing the length of the neighborhoods of the candidate users.
    • uSel

      private final EdgeOrientation uSel
      Neighborhood selection for the target users.
    • vSel

      private final EdgeOrientation vSel
      Neighborhood selection for the candidate users.
  • Constructor Details

    • Cosine

      public Cosine​(FastGraph<U> graph, EdgeOrientation uSel, EdgeOrientation vSel)
      Constructor.
      Parameters:
      graph - the graph.
      uSel - the neighborhood selection for the target user.
      vSel - the neighborhood selection for the candidate user.
  • Method Details

    • getScoresMap

      public it.unimi.dsi.fastutil.ints.Int2DoubleMap getScoresMap​(int uidx)
      Specified by:
      getScoresMap in class es.uam.eps.ir.ranksys.rec.fast.FastRankingRecommender<U,​U>