Spaces:
Sleeping
Sleeping
Commit
·
99c7f3b
1
Parent(s):
9cb4620
Changing data from 2k titles to 26k titles. Workaround for ease and cbf
Browse files- app.py +24 -2
- contentBased_model.py +2 -1
- data/all_games_attributes.csv +0 -0
- data/dict_of_all_ids.pkl +3 -0
- data/dict_of_all_titles.pkl +3 -0
- data/dict_of_ease_ids.pkl +3 -0
- data/dict_of_ease_titles.pkl +3 -0
- data/{games_attributes.csv → ease_games_attributes.csv} +0 -0
- data/list_of_all_titles.pkl +3 -0
- data/list_of_ease_titles.pkl +3 -0
- func.py +2 -2
app.py
CHANGED
@@ -5,13 +5,20 @@ from easeBased_model import *
|
|
5 |
from contentBased_model import *
|
6 |
|
7 |
|
|
|
8 |
if "user_preferences" not in st.session_state:
|
9 |
st.session_state["user_preferences"] = {}
|
10 |
|
11 |
# if "user_titles" not in st.session_state:
|
12 |
# st.session_state["user_titles"] = []
|
13 |
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
def games_recomm(preferences_id):
|
17 |
if "rs" in st.session_state:
|
@@ -30,12 +37,25 @@ def games_recomm(preferences_id):
|
|
30 |
'app_id': preferences_id,
|
31 |
'is_recommended': pref_value
|
32 |
})
|
|
|
33 |
|
34 |
-
res_ease = ease_model(pred_df=pred_df, k=100)
|
35 |
res_cbf = cbf_model(pred_df=pred_df, k=100)
|
|
|
|
|
36 |
res = combine_hybrid_result(res_ease, res_cbf)
|
|
|
37 |
|
38 |
# st.write(res)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
if type(res) == ValueError:
|
41 |
st.error("Recommendation failed. Please select with at least 3 games title.")
|
@@ -43,6 +63,8 @@ def games_recomm(preferences_id):
|
|
43 |
return
|
44 |
else:
|
45 |
st.session_state['rs'] = res
|
|
|
|
|
46 |
|
47 |
if len(st.session_state['rs']) >= 1:
|
48 |
st.success(f"Go to result page to view top {len(st.session_state['rs'])} recommendations.")
|
|
|
5 |
from contentBased_model import *
|
6 |
|
7 |
|
8 |
+
|
9 |
if "user_preferences" not in st.session_state:
|
10 |
st.session_state["user_preferences"] = {}
|
11 |
|
12 |
# if "user_titles" not in st.session_state:
|
13 |
# st.session_state["user_titles"] = []
|
14 |
|
15 |
+
# if "26k_titles" not in st.session_state:
|
16 |
+
# st.session_state['26k_titles'] = data
|
17 |
+
|
18 |
+
data = pd.read_pickle("data/list_of_all_titles.pkl")
|
19 |
+
ease_ids = list(
|
20 |
+
pd.read_pickle("data/dict_of_ease_ids.pkl").keys())
|
21 |
+
|
22 |
|
23 |
def games_recomm(preferences_id):
|
24 |
if "rs" in st.session_state:
|
|
|
37 |
'app_id': preferences_id,
|
38 |
'is_recommended': pref_value
|
39 |
})
|
40 |
+
ease_df = pred_df[pred_df['app_id'].isin(ease_ids)]
|
41 |
|
|
|
42 |
res_cbf = cbf_model(pred_df=pred_df, k=100)
|
43 |
+
res_ease = ease_model(pred_df=ease_df, k=100)
|
44 |
+
|
45 |
res = combine_hybrid_result(res_ease, res_cbf)
|
46 |
+
# res = cbf_model(pred_df=pred_df, k=100)
|
47 |
|
48 |
# st.write(res)
|
49 |
+
st.write("Result of EASE:")
|
50 |
+
st.write(res_ease)
|
51 |
+
st.markdown("<br>", unsafe_allow_html=True)
|
52 |
+
|
53 |
+
st.write("Result of CBF:")
|
54 |
+
st.write(res_cbf)
|
55 |
+
st.markdown("<br>", unsafe_allow_html=True)
|
56 |
+
|
57 |
+
st.write("Result of Hybrid:")
|
58 |
+
st.write(res)
|
59 |
|
60 |
if type(res) == ValueError:
|
61 |
st.error("Recommendation failed. Please select with at least 3 games title.")
|
|
|
63 |
return
|
64 |
else:
|
65 |
st.session_state['rs'] = res
|
66 |
+
# st.session_state['rs'] = res
|
67 |
+
st.session_state
|
68 |
|
69 |
if len(st.session_state['rs']) >= 1:
|
70 |
st.success(f"Go to result page to view top {len(st.session_state['rs'])} recommendations.")
|
contentBased_model.py
CHANGED
@@ -118,7 +118,8 @@ class KnnCBF:
|
|
118 |
return pred_result
|
119 |
|
120 |
def cbf_model(pred_df, k=10):
|
121 |
-
items = pd.read_csv("data/games_attributes.csv")
|
|
|
122 |
|
123 |
cbf = KnnCBF(items)
|
124 |
res = cbf.predict_active(pred_df=pred_df, k=k)
|
|
|
118 |
return pred_result
|
119 |
|
120 |
def cbf_model(pred_df, k=10):
|
121 |
+
# items = pd.read_csv("data/games_attributes.csv")
|
122 |
+
items = pd.read_csv("data/all_games_attributes.csv")
|
123 |
|
124 |
cbf = KnnCBF(items)
|
125 |
res = cbf.predict_active(pred_df=pred_df, k=k)
|
data/all_games_attributes.csv
ADDED
The diff for this file is too large to render.
See raw diff
|
|
data/dict_of_all_ids.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:3eb6d11b622023bcdaa5a7130886f2d5e5304b0d3764a9a896744b9d34812ae8
|
3 |
+
size 820978
|
data/dict_of_all_titles.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:2867960e313b95dae1d80261560df9c8dd63801d49c26fb23fef075b0ee0679c
|
3 |
+
size 820978
|
data/dict_of_ease_ids.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:dd9e84631b0dd97fe7d0fe982a28a03c9c65a4d1042437385137d05c92f829b3
|
3 |
+
size 60873
|
data/dict_of_ease_titles.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:2689a911254553451cdd573c751192f098d12b3b1cc9d872f7ac2e7b0d840018
|
3 |
+
size 60873
|
data/{games_attributes.csv → ease_games_attributes.csv}
RENAMED
File without changes
|
data/list_of_all_titles.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:4536a375d8a42380eb9501eebab0cbf1a4c17d93c0a88093cba3bb2ab27e3db5
|
3 |
+
size 687996
|
data/list_of_ease_titles.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c99d13e858bb785686cbaeab014d6bb39608627316a6b6b69d5517f21b3fc5ee
|
3 |
+
size 50223
|
func.py
CHANGED
@@ -5,8 +5,8 @@ import requests
|
|
5 |
from io import BytesIO
|
6 |
from PIL import Image
|
7 |
|
8 |
-
data_titles = pd.read_pickle("data/
|
9 |
-
data_ids = pd.read_pickle("data/
|
10 |
|
11 |
def ids_to_titles(ids_list):
|
12 |
return [data_ids[title] for title in ids_list]
|
|
|
5 |
from io import BytesIO
|
6 |
from PIL import Image
|
7 |
|
8 |
+
data_titles = pd.read_pickle("data/dict_of_all_titles.pkl")
|
9 |
+
data_ids = pd.read_pickle("data/dict_of_all_ids.pkl")
|
10 |
|
11 |
def ids_to_titles(ids_list):
|
12 |
return [data_ids[title] for title in ids_list]
|