Spaces:
Running
Running
| import numpy as np | |
| from sklearn.pipeline import Pipeline | |
| from machine_learning.datasets.embeddings_csv import EmbeddingsDataLoader | |
| from machine_learning.models.rfy import BayesianRecommender | |
| from machine_learning.models.similarity import SimilarityRecommender | |
| from machine_learning.transformers.inverter import Inverter | |
| from machine_learning.transformers.item_encoder import ItemIdOneHotEncoder | |
| from machine_learning.transformers.scores_to_dict import ScoresToDict | |
| catalog = EmbeddingsDataLoader().load() | |
| embeddings = np.array(catalog.embedding.tolist()) | |
| posters = catalog.poster if 'poster' in catalog.columns else None | |
| premiere_years = catalog.premiere_year if 'premiere_year' in catalog.columns else None | |
| recommended_for_you = Pipeline([ | |
| ('encoder', ItemIdOneHotEncoder(catalog.item_id)), | |
| ('ranker', BayesianRecommender(embeddings)), | |
| ('scores_to_dict', ScoresToDict(catalog.item_id, catalog.title, posters, premiere_years)), | |
| ]).fit([]) | |
| not_for_me = Pipeline([ | |
| ('encoder', ItemIdOneHotEncoder(catalog.item_id)), | |
| ('inverter', Inverter()), | |
| ('ranker', BayesianRecommender(embeddings)), | |
| ('scores_to_dict', ScoresToDict(catalog.item_id, catalog.title, posters, premiere_years)), | |
| ]).fit([]) | |
| similarity = Pipeline([ | |
| ('encoder', ItemIdOneHotEncoder(catalog.item_id)), | |
| ('ranker', SimilarityRecommender(embeddings)), | |
| ('scores_to_dict', ScoresToDict(catalog.item_id, catalog.title, posters, premiere_years)), | |
| ]).fit([]) | |