Exemple #1
0
 public GenericItemBasedRecommender(IDataModel dataModel,
                                    IItemSimilarity similarity,
                                    ICandidateItemsStrategy candidateItemsStrategy,
                                    IMostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy) :
     base(dataModel, candidateItemsStrategy)
 {
     //Preconditions.checkArgument(similarity != null, "similarity is null");
     this.similarity = similarity;
     //Preconditions.checkArgument(mostSimilarItemsCandidateItemsStrategy != null,
     //    "mostSimilarItemsCandidateItemsStrategy is null");
     this.mostSimilarItemsCandidateItemsStrategy = mostSimilarItemsCandidateItemsStrategy;
     this.refreshHelper = new RefreshHelper(() => {
         capper = buildCapper();
     });
     refreshHelper.AddDependency(dataModel);
     refreshHelper.AddDependency(similarity);
     refreshHelper.AddDependency(candidateItemsStrategy);
     refreshHelper.AddDependency(mostSimilarItemsCandidateItemsStrategy);
     capper = buildCapper();
 }
        /// Create an SVDRecommender using a persistent store to cache factorizations. A factorization is loaded from the
        /// store if present, otherwise a new factorization is computed and saved in the store.
        ///
        /// The {@link #refresh(java.util.Collection) refresh} method recomputes the factorization and overwrites the store.
        ///
        /// @param dataModel
        /// @param factorizer
        /// @param candidateItemsStrategy
        /// @param persistenceStrategy
        ///
        /// @throws TasteException
        public SVDRecommender(IDataModel dataModel, IFactorizer factorizer, ICandidateItemsStrategy candidateItemsStrategy,
                              IPersistenceStrategy persistenceStrategy) : base(dataModel, candidateItemsStrategy)
        {
            this.factorizer          = factorizer;          //Preconditions.checkNotNull(factorizer);
            this.persistenceStrategy = persistenceStrategy; // Preconditions.checkNotNull(persistenceStrategy);
            try {
                factorization = persistenceStrategy.Load();
            } catch (IOException e) {
                throw new TasteException("Error loading factorization", e);
            }

            if (factorization == null)
            {
                train();
            }

            refreshHelper = new RefreshHelper(() => {
                train();
            });
            refreshHelper.AddDependency(GetDataModel());
            refreshHelper.AddDependency(factorizer);
            refreshHelper.AddDependency(candidateItemsStrategy);
        }
 public SVDRecommender(IDataModel dataModel, IFactorizer factorizer, ICandidateItemsStrategy candidateItemsStrategy) :
     this(dataModel, factorizer, candidateItemsStrategy, getDefaultPersistenceStrategy())
 {
 }
  protected AbstractRecommender(IDataModel dataModel, ICandidateItemsStrategy candidateItemsStrategy) {
    this.dataModel = dataModel; //Preconditions.checkNotNull(dataModel);
	this.candidateItemsStrategy = candidateItemsStrategy; // Preconditions.checkNotNull(candidateItemsStrategy);
  }
  public GenericBooleanPrefItemBasedRecommender(IDataModel dataModel, IItemSimilarity similarity,
      ICandidateItemsStrategy candidateItemsStrategy, IMostSimilarItemsCandidateItemsStrategy
	  mostSimilarItemsCandidateItemsStrategy)
		: base(dataModel, similarity, candidateItemsStrategy, mostSimilarItemsCandidateItemsStrategy) {
    
  }
Exemple #6
0
 public GenericBooleanPrefItemBasedRecommender(IDataModel dataModel, IItemSimilarity similarity,
                                               ICandidateItemsStrategy candidateItemsStrategy, IMostSimilarItemsCandidateItemsStrategy
                                               mostSimilarItemsCandidateItemsStrategy)
     : base(dataModel, similarity, candidateItemsStrategy, mostSimilarItemsCandidateItemsStrategy)
 {
 }
Exemple #7
0
 protected AbstractRecommender(IDataModel dataModel, ICandidateItemsStrategy candidateItemsStrategy)
 {
     this.dataModel = dataModel;                           //Preconditions.checkNotNull(dataModel);
     this.candidateItemsStrategy = candidateItemsStrategy; // Preconditions.checkNotNull(candidateItemsStrategy);
 }