import csv
from Problem import Problem
reader=csv.reader(file("Assignment 3.csv","rb"))
problem=Problem()
index=0
for row in reader:
    problem.loadline(row,index)
    index+=1
# print problem.users
# print problem.movies
# print problem.matrix
#Without Normalization
problem.computecorelation()
problem.calcuNearneibor()
#test 3712(7th)
#problem.predict(6)
#predict movies for 3867(5th) and 89(14th)
problem.predict(4)
problem.predict(13)
#Normalization
problem.predictnormalized(4)
problem.predictnormalized(13)
import csv
from Problem import Problem
reader = csv.reader(open("A1Ratings.csv","rU"))
problem=Problem()
for row in reader:
    problem.loadline(row)

average_ratings=dict(zip(problem.movienames,[('%.2f')%f for f in problem.meanRatings()]))
average_ratings=sorted(average_ratings.iteritems(),key=lambda d:d[1], reverse=True)
print average_ratings

most_ratings=dict(zip(problem.movienames,[f for f in problem.mostRatings()]))
most_ratings=sorted(most_ratings.iteritems(),key=lambda d:d[1],reverse=True)
print most_ratings

higher_ratings=dict(zip(problem.movienames,[('%.2f')%f for f in problem.rating4()]))
higher_ratings=sorted(higher_ratings.iteritems(),key=lambda d:d[1],reverse=True)
print higher_ratings

rel=dict(zip(problem.movienames[1:],[('%.2f')%f for f in problem.getRelevance()]))
rel=sorted(rel.iteritems(),key=lambda d:d[1],reverse=True)
print rel