def api_import1(): movies = datasets.load_sample_movies() import pprint ## to make printed items clearer pprint.pprint(movies.data) pprint.pprint(movies.user_ids) pprint.pprint(movies.item_ids) from scikits.crab.models import MatrixPreferenceDataModel #Build the model model = MatrixPreferenceDataModel(movies.data) from scikits.crab.metrics import pearson_correlation from scikits.crab.similarities import UserSimilarity #Build the similarity similarity = UserSimilarity(model, pearson_correlation) from sklearn.base import BaseEstimator from scikits.crab.recommenders.knn import UserBasedRecommender #build the user Based recommender recommender = UserBasedRecommender(model, similarity, with_preference=True) #recommend item for the user 5 (Toby) recomendations = recommender.recommend(5) pprint.pprint(recomendations) return 'List of ' + url_for('api_articles')
from scikits.crab import datasets from scikits.crab.recommenders.knn.item_strategies import AllPossibleItemsStrategy, ItemsNeighborhoodStrategy from scikits.crab.recommenders.svd.classes import MatrixFactorBasedRecommender from scikits.crab.models.classes import MatrixPreferenceDataModel, MatrixBooleanPrefDataModel movies = datasets.load_sample_movies() data = movies['data'] def recommend(data, users, items): # print 'data = ', data matrix_model = MatrixPreferenceDataModel(data) items_strategy = AllPossibleItemsStrategy() # items_strategy = ItemsNeighborhoodStrategy() recsys = MatrixFactorBasedRecommender( model=matrix_model, items_selection_strategy=items_strategy, n_features=2) score = dict() for user in users: row = dict() for item in items: try: if data[user][item] != 0: # the user has already rated. row[item] = data[user][item] else: row[item] = recsys.estimate_preference(user, item) except: row[item] = 0
# This code depicts the snippets appeared in Chapter 2 of the Crab's Official Tutorial: # # http://muricoca.github.io/crab/tutorial.html#introducing-recommendation-engines # from scikits.crab import datasets from scikits.crab.models import MatrixPreferenceDataModel from scikits.crab.metrics import pearson_correlation from scikits.crab.similarities import UserSimilarity from scikits.crab.recommenders.knn import UserBasedRecommender # input movies = datasets.load_sample_movies() print movies.data # build the model model = MatrixPreferenceDataModel(movies.data) print model # build the similarity similarity = UserSimilarity(model, pearson_correlation) # build the user based recommender recommender = UserBasedRecommender(model, similarity, with_preference=True) # recommend items for the user 5 result = recommender.recommend(5) print result
def get_movie_dataset(): movies = datasets.load_sample_movies() pprint.pprint(movies.data) pprint.pprint(movies.user_ids) pprint.pprint(movies.item_ids) return movies
from scikits.crab.datasets import load_sample_movies movies = load_sample_movies() from scikits.crab.models import MatrixPreferenceDataModel model = MatrixPreferenceDataModel(movies.data) from scikits.crab.metrics import pearson_correlation from scikits.crab.similarities import UserSimilarity similarity = UserSimilarity(model, pearson_correlation) from scikits.crab.recommenders.knn import UserBasedRecommender recommender = UserBasedRecommender(model, similarity, with_preference=True) print recommender.recommend(5)
def test_load_sample_movies(self): movies = load_sample_movies() self.assertEquals(len(movies['data']), 7) self.assertEquals(len(movies['item_ids']), 6)
def test_load_sample_movies(self): movies = load_sample_movies() self.assertEquals(len(movies["data"]), 7) self.assertEquals(len(movies["item_ids"]), 6)