Source code for alpenglow.offline.models.NearestNeighborModel

import alpenglow.Getter as rs
import alpenglow.offline


[docs]class NearestNeighborModel(alpenglow.offline.OfflineModel): """NearestNeighborModel(num_of_neighbors=10) Item based nearest neighbor. Parameters ---------- num_of_neighbors : int Number of neighbors to consider. """ def _fit(self, recommender_data, users, items, matrix): model = rs.NearestNeighborModel( gamma=1, norm="off", direction="both", gamma_threshold=0, num_of_neighbors=self.parameter_default("num_of_neighbors", 10), ) updater = rs.NearestNeighborModelUpdater( period_mode="off", ) updater.set_model(model) learner = rs.OfflineIteratingLearner(**self.parameter_defaults( seed=67439852, )) learner.set_model(model) learner.add_simple_updater(updater) learner.set_recommender_data(recommender_data) return (model, learner)