Esempio n. 1
0
        public SVDRecommender(DataModel dataModel, Factorizer factorizer, CandidateItemsStrategy candidateItemsStrategy, PersistenceStrategy persistenceStrategy)
            : base(dataModel, candidateItemsStrategy)
        {
            Action refreshRunnable = null;

            this.factorizer          = factorizer;
            this.persistenceStrategy = persistenceStrategy;
            try
            {
                this.factorization = persistenceStrategy.load();
            }
            catch (IOException exception)
            {
                throw new TasteException("Error loading factorization", exception);
            }
            if (this.factorization == null)
            {
                this.train();
            }
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.train();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(this.getDataModel());
            this.refreshHelper.addDependency(factorizer);
            this.refreshHelper.addDependency(candidateItemsStrategy);
        }
Esempio n. 2
0
 public KnnItemBasedRecommender(DataModel dataModel,
                                ItemSimilarity similarity,
                                Optimizer optimizer,
                                CandidateItemsStrategy candidateItemsStrategy,
                                MostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy,
                                int neighborhoodSize) :
     base(dataModel, similarity, candidateItemsStrategy, mostSimilarItemsCandidateItemsStrategy)
 {
     this.optimizer        = optimizer;
     this.neighborhoodSize = neighborhoodSize;
 }
Esempio n. 3
0
        public GenericItemBasedRecommender(DataModel dataModel, ItemSimilarity similarity, CandidateItemsStrategy candidateItemsStrategy, MostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy)
            : base(dataModel, candidateItemsStrategy)
        {
            Action refreshRunnable = null;

            this.similarity = similarity;
            this.mostSimilarItemsCandidateItemsStrategy = mostSimilarItemsCandidateItemsStrategy;
            if (refreshRunnable == null)
            {
                refreshRunnable = () => this.capper = this.buildCapper();
            }
            this.refreshHelper = new RefreshHelper(refreshRunnable);
            this.refreshHelper.addDependency(dataModel);
            this.refreshHelper.addDependency(similarity);
            this.refreshHelper.addDependency(candidateItemsStrategy);
            this.refreshHelper.addDependency(mostSimilarItemsCandidateItemsStrategy);
            this.capper = this.buildCapper();
        }
Esempio n. 4
0
 protected AbstractRecommender(DataModel dataModel, CandidateItemsStrategy candidateItemsStrategy)
 {
     this.dataModel = dataModel;
     this.candidateItemsStrategy = candidateItemsStrategy;
 }
Esempio n. 5
0
 public SVDRecommender(DataModel dataModel, Factorizer factorizer, CandidateItemsStrategy candidateItemsStrategy)
     : this(dataModel, factorizer, candidateItemsStrategy, getDefaultPersistenceStrategy())
 {
 }
Esempio n. 6
0
 public GenericBooleanPrefItemBasedRecommender(DataModel dataModel, ItemSimilarity similarity, CandidateItemsStrategy candidateItemsStrategy, MostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy)
     : base(dataModel, similarity, candidateItemsStrategy, mostSimilarItemsCandidateItemsStrategy)
 {
 }