示例#1
0
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')
示例#2
0
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
示例#3
0
文件: example1.py 项目: rcarmo/crab
# 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
示例#4
0
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
示例#5
0
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)
示例#6
0
 def test_load_sample_movies(self):
     movies = load_sample_movies()
     self.assertEquals(len(movies['data']), 7)
     self.assertEquals(len(movies['item_ids']), 6)
示例#7
0
 def test_load_sample_movies(self):
     movies = load_sample_movies()
     self.assertEquals(len(movies["data"]), 7)
     self.assertEquals(len(movies["item_ids"]), 6)