def handle(self, *args, **options): username = sys.argv[2] X = [] y = [] for user_id, work_id, choice in Rating.objects.values_list('user_id', 'work_id', 'choice'): X.append((user_id, work_id)) y.append(rating_values[choice]) svd = MangakiSVD() # svd.fit(X, y) svd.load('backup.pickle') svd.get_reco(username, sending=True)
def __init__(self, dataset_name): self.algos = [ lambda: MangakiALS(10), lambda: MangakiALS(20), lambda: MangakiALS(30), lambda: MangakiALS(40), lambda: MangakiWALS(20), lambda: MangakiSVD(10), lambda: MangakiSVD(20), lambda: MangakiSVD(30), lambda: MangakiSVD(40), lambda: MangakiSVD(50), lambda: MangakiPCA(20), lambda: MangakiKNN(20), lambda: MangakiKNN(40), lambda: MangakiZero() ] self.anonymized = None self.load_dataset(dataset_name)
def __init__(self, PIG_ID=None): self.algos = [ MangakiALS(20), MangakiWALS(20), MangakiSVD(20), MangakiKNN(20), MangakiZero() ] # self.results.setdefault('x_axis', []).append() self.make_dataset(PIG_ID) self.execute()
def __init__(self, PIG): for TRAIN_PIG_LENGTH in range(10, 150, 20): print(TRAIN_PIG_LENGTH) self.algos = [ MangakiSVD(), MangakiKNN(), MangakiKNN(30), MangakiKNN(45) ] self.results.setdefault('x_axis', []).append(TRAIN_PIG_LENGTH) self.make_dataset(TRAIN_PIG_LENGTH) self.execute()
from mangaki.utils.wals import MangakiWALS from mangaki.utils.als import MangakiALS from mangaki.utils.knn import MangakiKNN from mangaki.utils.svd import MangakiSVD from mangaki.utils.data import Dataset ALGOS = { 'knn': lambda: MangakiKNN(), 'svd': lambda: MangakiSVD(20), 'als': lambda: MangakiALS(20), 'wals': lambda: MangakiWALS(20), } def fit_algo(algo_name, queryset, backup_filename): algo = ALGOS[algo_name]() dataset = Dataset() anonymized = dataset.make_anonymous_data(queryset) algo.set_parameters(anonymized.nb_users, anonymized.nb_works) algo.fit(anonymized.X, anonymized.y) if algo_name in {'svd', 'als', 'wals'}: # KNN is constantly refreshed algo.save(backup_filename) dataset.save('ratings-' + backup_filename) return dataset, algo
def handle(self, *args, **options): username = sys.argv[2] svd = MangakiSVD() svd.load('backup.pickle') svd.get_reco(username, sending=True)