Skip to content

Commit be6cae5

Browse files
authored
Add files via upload
1 parent cea70eb commit be6cae5

File tree

2 files changed

+100165
-0
lines changed

2 files changed

+100165
-0
lines changed

RecommenderSysetm.py

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
from surprise import KNNBasic
2+
from surprise import Dataset
3+
from surprise import Reader
4+
import os
5+
from surprise import NMF
6+
#load data from a file
7+
file_path = os.path.expanduser('restaurant_ratings.txt')
8+
reader = Reader(line_format='user item rating timestamp', sep='\t')
9+
data = Dataset.load_from_file(file_path, reader=reader)
10+
11+
12+
13+
from surprise import SVD
14+
from surprise import evaluate, print_perf
15+
import os
16+
'''
17+
print('')
18+
print('---------------SVD result-------------')
19+
data.split(n_folds=3)
20+
algo = SVD()
21+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
22+
print_perf(perf)
23+
24+
25+
#########---------------PMF
26+
print('')
27+
print('---------------PMF result--------------')
28+
data.split(n_folds=3)
29+
algo = SVD(biased=False)
30+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
31+
print_perf(perf)
32+
33+
##########--------------NMF
34+
print('')
35+
print('----------------NMF result--------------')
36+
data.split(n_folds=3)
37+
algo = KNNBasic(sim_options = {'user_based':True})
38+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
39+
print_perf(perf)
40+
41+
42+
##########--------------User Based Collaborative Filtering algorithm
43+
print('')
44+
print('User Based Collaborative Filtering algorithm result')
45+
data.split(n_folds=3)
46+
algo = KNNBasic(sim_options = {'user_based': False })
47+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
48+
print_perf(perf)
49+
50+
51+
52+
53+
##########--------------Item Based Collaborative Filtering algorithm
54+
print('')
55+
print('Item Based Collaborative Filtering algorithm result')
56+
data.split(n_folds=3)
57+
algo = KNNBasic(sim_options = {'user_based': False})
58+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
59+
print_perf(perf)
60+
61+
62+
##########--------MSD------User Based Collaborative Filtering algorithm
63+
print('')
64+
print('MSD----User Based Collaborative Filtering algorithm result')
65+
data.split(n_folds=3)
66+
algo = KNNBasic(sim_options = {'name':'MSD','user_based': True})
67+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
68+
print_perf(perf)
69+
70+
71+
##########--------cosin------User Based Collaborative Filtering algorithm
72+
print('')
73+
print('cosin----User Based Collaborative Filtering algorithm result')
74+
data.split(n_folds=3)
75+
algo = KNNBasic(sim_options = {'name':'cosine','user_based': True})
76+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
77+
print_perf(perf)
78+
79+
##########--------person------User Based Collaborative Filtering algorithm
80+
print('')
81+
print('Person sim----User Based Collaborative Filtering algorithm result')
82+
data.split(n_folds=3)
83+
algo = KNNBasic(sim_options = {'name':'pearson','user_based': True})
84+
perf = evaluate(algo, data, measures=['RMSE', 'MAE'])
85+
print_perf(perf)
86+
87+
'''
88+
89+
90+
91+
##########--------MSD------User Based Collaborative Filtering algorithm
92+
print('')
93+
print('10--Neighboors--User Based Collaborative Filtering algorithm result')
94+
data.split(n_folds=3)
95+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':True })
96+
perf = evaluate(algo, data, measures=['RMSE'])
97+
print_perf(perf)
98+
99+
100+
##########--------cosin------User Based Collaborative Filtering algorithm
101+
print('')
102+
print('10---Neighboors---Item Based Collaborative Filtering algorithm result')
103+
data.split(n_folds=3)
104+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':False })
105+
perf = evaluate(algo, data, measures=['RMSE'])
106+
print_perf(perf)
107+
108+
109+
##########--------MSD------User Based Collaborative Filtering algorithm
110+
print('')
111+
print('15--Neighboors--User Based Collaborative Filtering algorithm result')
112+
data.split(n_folds=3)
113+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':True })
114+
perf = evaluate(algo, data, measures=['RMSE'])
115+
print_perf(perf)
116+
117+
118+
##########--------cosin------User Based Collaborative Filtering algorithm
119+
print('')
120+
print('15---Neighboors---Item Based Collaborative Filtering algorithm result')
121+
data.split(n_folds=3)
122+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':False })
123+
perf = evaluate(algo, data, measures=['RMSE'])
124+
print_perf(perf)
125+
126+
127+
##########--------MSD------User Based Collaborative Filtering algorithm
128+
print('')
129+
print('25--Neighboors--User Based Collaborative Filtering algorithm result')
130+
data.split(n_folds=3)
131+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':True })
132+
perf = evaluate(algo, data, measures=['RMSE'])
133+
print_perf(perf)
134+
135+
136+
##########--------cosin------User Based Collaborative Filtering algorithm
137+
print('')
138+
print('25---Neighboors---Item Based Collaborative Filtering algorithm result')
139+
data.split(n_folds=3)
140+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':False })
141+
perf = evaluate(algo, data, measures=['RMSE'])
142+
print_perf(perf)
143+
144+
145+
146+
##########--------MSD------User Based Collaborative Filtering algorithm
147+
print('')
148+
print('30--Neighboors--User Based Collaborative Filtering algorithm result')
149+
data.split(n_folds=3)
150+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':True })
151+
perf = evaluate(algo, data, measures=['RMSE'])
152+
print_perf(perf)
153+
154+
155+
##########--------cosin------User Based Collaborative Filtering algorithm
156+
print('')
157+
print('30---Neighboors---Item Based Collaborative Filtering algorithm result')
158+
data.split(n_folds=3)
159+
algo = KNNBasic(k=10, sim_options = {'name':'MSD', 'user_based':False })
160+
perf = evaluate(algo, data, measures=['RMSE'])
161+
print_perf(perf)
162+
163+
164+
165+

0 commit comments

Comments
 (0)