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); }
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; }
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(); }
protected AbstractRecommender(DataModel dataModel, CandidateItemsStrategy candidateItemsStrategy) { this.dataModel = dataModel; this.candidateItemsStrategy = candidateItemsStrategy; }
public SVDRecommender(DataModel dataModel, Factorizer factorizer, CandidateItemsStrategy candidateItemsStrategy) : this(dataModel, factorizer, candidateItemsStrategy, getDefaultPersistenceStrategy()) { }
public GenericBooleanPrefItemBasedRecommender(DataModel dataModel, ItemSimilarity similarity, CandidateItemsStrategy candidateItemsStrategy, MostSimilarItemsCandidateItemsStrategy mostSimilarItemsCandidateItemsStrategy) : base(dataModel, similarity, candidateItemsStrategy, mostSimilarItemsCandidateItemsStrategy) { }