Ejemplo n.º 1
0
        public SlopeOneRecommender(
            DataModel dataModel,
            Weighting weighting,
            Weighting stdDevWeighting, DiffStorage diffStorage)
            : base(dataModel)
        {
            //if (stdDevWeighting != Weighting.WEIGHTED)

            //Preconditions.checkArgument(stdDevWeighting != Weighting.WEIGHTED || weighting != Weighting.UNWEIGHTED,
            //  "weighted required when stdDevWeighted is set");
            //Preconditions.checkArgument(diffStorage != null, "diffStorage is null");
            this.weighted       = weighting == Weighting.WEIGHTED;
            this.stdDevWeighted = stdDevWeighting == Weighting.WEIGHTED;
            this.diffStorage    = diffStorage;
        }
Ejemplo n.º 2
0
 /// <summary>
 /// <p>Creates a <see cref="taste.Recommender.SlopeOne.SlopeOneRecommender">SlopeOneRecommender</see> based on the given
 /// <see cref="taste.Model.DataModel">DataModel</see>.</p>
 /// <p>If <code>weighted</code> is set, acts as a weighted slope one Recommender.
 /// This implementation also includes an experimental "standard deviation" weighting which weights
 /// item-item ratings diffs with lower standard deviation more highly, on the theory that they are more
 /// reliable.</p>
 /// </summary>
 /// <param name="dataModel"></param>
 /// <param name="weighted">if <code>true</code>, acts as a weighted slope one Recommender</param>
 /// <param name="stdDevWeighted">use optional standard deviation weighting of diffs</param>
 /// <param name="diffStorage"></param>
 /// <remarks>
 /// Throws ArgumentException if <code>diffStorage</code> is null, or stdDevWeighted is set
 /// when weighted is not set
 /// </remarks>
 public SlopeOneRecommender(DataModel dataModel,
                            bool weighted,
                            bool stdDevWeighted,
                            DiffStorage diffStorage)
     : base(dataModel)
 {
     if (stdDevWeighted && !weighted)
     {
         throw new ArgumentException("weighted required when stdDevWeighted is set");
     }
     if (diffStorage == null)
     {
         throw new ArgumentNullException("diffStorage is null");
     }
     this.weighted       = weighted;
     this.stdDevWeighted = stdDevWeighted;
     this.diffStorage    = diffStorage;
 }