Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
gm_mab
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rank
gm_mab
Commits
01696d82
Commit
01696d82
authored
Apr 25, 2020
by
段英荣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tiaoshi
parent
b05a8671
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
40 additions
and
30 deletions
+40
-30
Linucb.py
linucb/core/Linucb.py
+10
-2
generate_content_user_feature.py
tools/generate_content_user_feature.py
+30
-28
No files found.
linucb/core/Linucb.py
View file @
01696d82
...
...
@@ -172,13 +172,21 @@ class LinUCB:
return
False
@classmethod
def
update_linucb_info
(
cls
,
reward
,
content_id
,
redis_name_linucb_matrix
,
redis_cli
,
user_features
=
None
,
user_features_array
=
None
):
def
update_linucb_info
(
cls
,
reward
,
content_id
,
redis_name_linucb_matrix
,
redis_cli
,
user_features
=
None
,
user_features_array
=
None
,
content_level_str
=-
1
):
try
:
if
reward
==
-
1
:
logging
.
warning
(
"reward val error!"
)
elif
reward
==
1
or
reward
==
0
:
if
reward
==
1
:
r
=
cls
.
r1
if
content_level_str
==
"6"
:
r
=
cls
.
r1
*
10
elif
content_level_str
==
"5"
:
r
=
cls
.
r1
*
8
elif
content_level_str
==
"4"
:
r
=
cls
.
r1
*
6
elif
content_level_str
==
"3.5"
:
r
=
cls
.
r1
*
4
else
:
r
=
cls
.
r0
...
...
tools/generate_content_user_feature.py
View file @
01696d82
...
...
@@ -140,7 +140,7 @@ class Generate_Feature_Info(object):
try
:
tag_label
=
label_encoder
.
transform
(
offi_tags_v3
)[
0
]
# diary_feature_list = onehot_encoder.transform([[tag_label]]).toarray().tolist()
diary_feature_list
=
[
tag_label
]
diary_feature_list
=
[
tag_label
,
content_level
]
redis_client
.
hset
(
redis_name_content_linucb_feature
,
diary_id
,
json
.
dumps
(
diary_feature_list
))
except
:
...
...
@@ -225,33 +225,35 @@ if __name__ == "__main__":
linucb_matrix_redis_name
=
"strategy:linucb:matrix:content_type:diary"
# diary_click_file = "/data/log/duan_test/feed_query_data/feed_click_info.txt"
# diary_fd = open(diary_click_file,"r")
#
# for line in diary_fd.readlines():
# line = line.strip()
# line = line.strip("\n")
# line = line.strip("\r")
# line = line.strip(" ")
#
# item_list = line.split(",")
# device_id = item_list[3]
# diary_id = item_list[4]
# # Generate_Feature_Info.generate_user_feature_to_redis(device_id, label_encoder,onehot_encoder)
#
# user_feature_list = Generate_Feature_Info.get_user_feature_by_device_id(device_id)
# content_feature_list = Generate_Feature_Info.get_content_feature(diary_id)
#
# offi_context_feature_list = []
# if len(user_feature_list)>0 and len(content_feature_list)>0:
# offi_context_feature_list.append(user_feature_list[0])
# offi_context_feature_list.append(content_feature_list[0])
#
# print(offi_context_feature_list)
# print("*"*50)
# LinUCB.update_linucb_info(user_features=offi_context_feature_list,reward=1,content_id=diary_id,
# redis_name_linucb_matrix=linucb_matrix_redis_name,redis_cli=redis_client)
# diary_fd.close()
diary_click_file
=
"/data/log/duan_test/feed_query_data/feed_click_info.txt"
diary_fd
=
open
(
diary_click_file
,
"r"
)
for
line
in
diary_fd
.
readlines
():
line
=
line
.
strip
()
line
=
line
.
strip
(
"
\n
"
)
line
=
line
.
strip
(
"
\r
"
)
line
=
line
.
strip
(
" "
)
item_list
=
line
.
split
(
","
)
device_id
=
item_list
[
3
]
diary_id
=
item_list
[
4
]
# Generate_Feature_Info.generate_user_feature_to_redis(device_id, label_encoder,onehot_encoder)
user_feature_list
=
Generate_Feature_Info
.
get_user_feature_by_device_id
(
device_id
)
content_feature_list
=
Generate_Feature_Info
.
get_content_feature
(
diary_id
)
offi_context_feature_list
=
[]
if
len
(
user_feature_list
)
>
0
and
len
(
content_feature_list
)
>
0
:
offi_context_feature_list
.
append
(
user_feature_list
[
0
])
offi_context_feature_list
.
append
(
content_feature_list
[
0
])
diary_content_level
=
str
(
content_feature_list
[
1
])
print
(
offi_context_feature_list
)
print
(
"*"
*
50
)
LinUCB
.
update_linucb_info
(
user_features
=
offi_context_feature_list
,
reward
=
1
,
content_id
=
diary_id
,
redis_name_linucb_matrix
=
linucb_matrix_redis_name
,
redis_cli
=
redis_client
,
content_level
=
diary_content_level
)
diary_fd
.
close
()
duan_device_id
=
"868771031984211"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment