def load_rest(): User.load_to_cache() # Load main models Popularity.load_to_cache() TensorCoFi.load_to_cache() if "recommendation.language" in settings.INSTALLED_APPS: from recommendation.language.models import Region Region.load_to_cache() if "recommendation.diversity" in settings.INSTALLED_APPS: from recommendation.diversity.models import ItemGenre, Genre Genre.load_to_cache() ItemGenre.load_to_cache()
def setup_class(cls, *args, **kwargs): """ Put elements in db """ for genre in GENRES: Genre.objects.create(**genre) for app in ITEMS: item = Item.objects.create(name=app["name"], external_id=app["external_id"]) for genre in app["genres"]: g = Genre.objects.get(name=genre) ItemGenre.objects.create(item=item, type=g) for u in USERS: user = User.objects.create(external_id=u["external_id"]) for i in u["items"]: Inventory.objects.create(user=user, item=Item.get_item_by_external_id(i)) Genre.load_to_cache() ItemGenre.load_to_cache()
def __init__(self, items, size, user, alpha_constant, lambda_constant): number_items = len(items) user_items = user.owned_items user_genres = ItemGenre.genre_in((item for item in user_items.values())) user_items_count = len(user_items) self.counter = {} for genre_id in Genre.get_all_genres(): genre = Genre.get_genre_by_id(genre_id) try: p_global = genre.count_items / float(number_items) except ZeroDivisionError: p_global = 0. try: p_local = user_genres.get(genre, 0.) / float(user_items_count) except ZeroDivisionError: p_local = 0. self.counter[genre.pk] = int(weighted_p(p_global, p_local, alpha_constant) * size)
def setup_class(cls, *args, **kwargs): """ Put elements in db """ path = resource_filename(recommendation.__name__, "/") fill.FillTool({"items": True, "--mozilla": True, "prod": True}).load() fill.FillTool({"users": True, "--mozilla": True, "<path>": path+"data/user"}).load() modelcrafter.main("train", "popularity") modelcrafter.main("train", "tensorcofi") # Load user and items Item.load_to_cache() User.load_to_cache() # Load main models Popularity.load_to_cache() TensorCoFi.load_to_cache() Locale.load_to_cache() Region.load_to_cache() Genre.load_to_cache() cls.client = Client()
def __init__(self, items, size, user, alpha_constant, lambda_constant): number_items = len(items) user_items = user.owned_items user_genres = ItemGenre.genre_in( (item for item in user_items.values())) user_items_count = len(user_items) self.counter = {} for genre_id in Genre.get_all_genres(): genre = Genre.get_genre_by_id(genre_id) try: p_global = genre.count_items / float(number_items) except ZeroDivisionError: p_global = 0. try: p_local = user_genres.get(genre, 0.) / float(user_items_count) except ZeroDivisionError: p_local = 0. self.counter[genre.pk] = int( weighted_p(p_global, p_local, alpha_constant) * size)
def get_genres(genres_names): """ Get categories from database and create the ones that don't exist. :param genres_names: :return: A dict with Genres mapped to their name """ genres = {genre.name: genre for genre in Genre.objects.filter(name__in=genres_names)} if len(genres) != len(genres_names): new_genres = {} for genre_name in genres_names: if genre_name not in genres: new_genres[genre_name] = Genre(name=genre_name) Genre.objects.bulk_create(new_genres.values()) for genre in Genre.objects.filter(name__in=new_genres): genres[genre.name] = genre return genres
application = get_wsgi_application() from django.conf import settings from recommendation.models import Item, User, TensorCoFi, Popularity # Load user and items Item.load_to_cache() User.load_to_cache() # Load main models Popularity.load_to_cache() TensorCoFi.load_to_cache() if "recommendation.language" in settings.INSTALLED_APPS: from recommendation.language.models import Locale, Region Locale.load_to_cache() Region.load_to_cache() #if "recommendation.simple_logging" in recommendation.settings.INSTALLED_APPS: # print("Loading logs to cache...") # from recommendation.simple_logging.models import LogEntry # LogEntry.load_to_cache() # print("done!") if "recommendation.diversity" in settings.INSTALLED_APPS: from recommendation.diversity.models import ItemGenre, Genre Genre.load_to_cache() ItemGenre.load_to_cache()
from django.core.wsgi import get_wsgi_application application = get_wsgi_application() from django.conf import settings from recommendation.models import Item, User, TensorCoFi, Popularity # Load user and items Item.load_to_cache() User.load_to_cache() # Load main models Popularity.load_to_cache() TensorCoFi.load_to_cache() if "recommendation.language" in settings.INSTALLED_APPS: from recommendation.language.models import Locale, Region Locale.load_to_cache() Region.load_to_cache() #if "recommendation.simple_logging" in recommendation.settings.INSTALLED_APPS: # print("Loading logs to cache...") # from recommendation.simple_logging.models import LogEntry # LogEntry.load_to_cache() # print("done!") if "recommendation.diversity" in settings.INSTALLED_APPS: from recommendation.diversity.models import ItemGenre, Genre Genre.load_to_cache() ItemGenre.load_to_cache()