def api_pearson(): if not 'user_id' in request.args: return "no valid user id supplied" else: from pearson import recommender num_recs = 10 user_id = request.args['user_id'] v1 = map(float, g.db.get(user_id).split('X')[1].split('|')) all_vecs = [ [map(float, g.db.get(k).split('X')[1].split('|')), int(k)] for k in g.db.keys('*') ] fnx = lambda v: round(v, 3) ji = [[fnx(recommender(v1, row[0])), row[1]] for row in all_vecs] ji = sorted(ji, reverse=True)[1::500] r = FK.jsonify(recs=ji) r.status_code = 200 return r
def api_jaccard(): if not 'user_id' in request.args: return "no valid user id supplied" else: from jaccard import recommender num_recs = 10 user_id = request.args['user_id'] fnx = lambda q: NP.array( list(q), dtype=int ) v1 = fnx(g.db.get(user_id)[:25]) all_vecs = [ [ fnx(g.db.get(k)[:25]), int(k) ] for k in g.db.keys('*') ] fnx = lambda v: round(v, 3) ji = [ [fnx(recommender(v1, row[0]) ), row[1]] for row in all_vecs ] ji = sorted(ji, reverse=True)[1::500] r = FK.jsonify(recs=ji) r.status_code = 200 return r
def api_jaccard(): if not 'user_id' in request.args: return "no valid user id supplied" else: from jaccard import recommender num_recs = 10 user_id = request.args['user_id'] fnx = lambda q: NP.array(list(q), dtype=int) v1 = fnx(g.db.get(user_id)[:25]) all_vecs = [[fnx(g.db.get(k)[:25]), int(k)] for k in g.db.keys('*')] fnx = lambda v: round(v, 3) ji = [[fnx(recommender(v1, row[0])), row[1]] for row in all_vecs] ji = sorted(ji, reverse=True)[1::500] r = FK.jsonify(recs=ji) r.status_code = 200 return r
def api_pearson(): if not 'user_id' in request.args: return "no valid user id supplied" else: from pearson import recommender num_recs = 10 user_id = request.args['user_id'] v1 = map(float, g.db.get(user_id).split('X')[1].split('|')) all_vecs = [[map(float, g.db.get(k).split('X')[1].split('|')), int(k)] for k in g.db.keys('*')] fnx = lambda v: round(v, 3) ji = [[fnx(recommender(v1, row[0])), row[1]] for row in all_vecs] ji = sorted(ji, reverse=True)[1::500] r = FK.jsonify(recs=ji) r.status_code = 200 return r