Commit cd97df76 authored by 赵威's avatar 赵威

add features for tractate

parent b64c2ee0
...@@ -9,13 +9,14 @@ _int_columns = [ ...@@ -9,13 +9,14 @@ _int_columns = [
"active_type", "active_days", "card_id", "is_pure_author", "is_have_reply", "is_have_pure_reply", "content_level", "active_type", "active_days", "card_id", "is_pure_author", "is_have_reply", "is_have_pure_reply", "content_level",
"topic_num", "favor_num", "favor_pure_num", "vote_num", "reply_num", "reply_pure_num", "one_reply_user_num", "topic_num", "favor_num", "favor_pure_num", "vote_num", "reply_num", "reply_pure_num", "one_reply_user_num",
"three_reply_user_num", "seven_reply_user_num", "fifteen_reply_user_num", "thirty_reply_user_num", "sixty_reply_user_num", "three_reply_user_num", "seven_reply_user_num", "fifteen_reply_user_num", "thirty_reply_user_num", "sixty_reply_user_num",
"ninety_reply_user_num", "history_reply_user_num", "one_click_num", "three_click_num", "seven_click_num", "fifteen_click_num", "ninety_reply_user_num", "history_reply_user_num", "one_reply_num", "three_reply_num", "seven_reply_num", "fifteen_reply_num",
"thirty_click_num", "sixty_click_num", "ninety_click_num", "history_click_num", "one_precise_exposure_num", "thirty_reply_num", "sixty_reply_num", "ninety_reply_num", "history_reply_num", "one_click_num", "three_click_num",
"three_precise_exposure_num", "seven_precise_exposure_num", "fifteen_precise_exposure_num", "thirty_precise_exposure_num", "seven_click_num", "fifteen_click_num", "thirty_click_num", "sixty_click_num", "ninety_click_num", "history_click_num",
"sixty_precise_exposure_num", "ninety_precise_exposure_num", "history_precise_exposure_num", "one_vote_user_num", "one_precise_exposure_num", "three_precise_exposure_num", "seven_precise_exposure_num", "fifteen_precise_exposure_num",
"three_vote_user_num", "seven_vote_user_num", "fifteen_vote_user_num", "thirty_vote_user_num", "sixty_vote_user_num", "thirty_precise_exposure_num", "sixty_precise_exposure_num", "ninety_precise_exposure_num", "history_precise_exposure_num",
"ninety_vote_user_num", "history_vote_user_num", "topic_seven_click_num", "topic_thirty_click_num", "seven_transform_num", "one_vote_user_num", "three_vote_user_num", "seven_vote_user_num", "fifteen_vote_user_num", "thirty_vote_user_num",
"thirty_transform_num" "sixty_vote_user_num", "ninety_vote_user_num", "history_vote_user_num", "topic_seven_click_num", "topic_thirty_click_num",
"seven_transform_num", "thirty_transform_num"
] ]
_float_columns = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"] _float_columns = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"]
_categorical_columns = [ _categorical_columns = [
......
...@@ -9,25 +9,28 @@ DIARY_COLUMNS = [ ...@@ -9,25 +9,28 @@ DIARY_COLUMNS = [
"card_id", "is_pure_author", "is_have_reply", "is_have_pure_reply", "content_level", "topic_num", "topic_seven_click_num", "card_id", "is_pure_author", "is_have_reply", "is_have_pure_reply", "content_level", "topic_num", "topic_seven_click_num",
"topic_thirty_click_num", "seven_transform_num", "thirty_transform_num", "favor_num", "favor_pure_num", "vote_num", "topic_thirty_click_num", "seven_transform_num", "thirty_transform_num", "favor_num", "favor_pure_num", "vote_num",
"reply_num", "reply_pure_num", "one_reply_user_num", "three_reply_user_num", "seven_reply_user_num", "fifteen_reply_user_num", "reply_num", "reply_pure_num", "one_reply_user_num", "three_reply_user_num", "seven_reply_user_num", "fifteen_reply_user_num",
"thirty_reply_user_num", "sixty_reply_user_num", "ninety_reply_user_num", "history_reply_user_num", "one_click_num", "thirty_reply_user_num", "sixty_reply_user_num", "ninety_reply_user_num", "history_reply_user_num", "one_reply_num",
"three_click_num", "seven_click_num", "fifteen_click_num", "thirty_click_num", "sixty_click_num", "ninety_click_num", "three_reply_num", "seven_reply_num", "fifteen_reply_num", "thirty_reply_num", "sixty_reply_num", "ninety_reply_num",
"history_click_num", "one_precise_exposure_num", "three_precise_exposure_num", "seven_precise_exposure_num", "history_reply_num", "one_click_num", "three_click_num", "seven_click_num", "fifteen_click_num", "thirty_click_num",
"fifteen_precise_exposure_num", "thirty_precise_exposure_num", "sixty_precise_exposure_num", "ninety_precise_exposure_num", "sixty_click_num", "ninety_click_num", "history_click_num", "one_precise_exposure_num", "three_precise_exposure_num",
"history_precise_exposure_num", "one_vote_user_num", "three_vote_user_num", "seven_vote_user_num", "fifteen_vote_user_num", "seven_precise_exposure_num", "fifteen_precise_exposure_num", "thirty_precise_exposure_num", "sixty_precise_exposure_num",
"thirty_vote_user_num", "sixty_vote_user_num", "ninety_vote_user_num", "history_vote_user_num", "one_ctr", "three_ctr", "ninety_precise_exposure_num", "history_precise_exposure_num", "one_vote_user_num", "three_vote_user_num",
"seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr", "first_demands", "second_demands", "seven_vote_user_num", "fifteen_vote_user_num", "thirty_vote_user_num", "sixty_vote_user_num", "ninety_vote_user_num",
"first_solutions", "second_solutions", "first_positions", "second_positions", "projects" "history_vote_user_num", "one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr",
"history_ctr", "first_demands", "second_demands", "first_solutions", "second_solutions", "first_positions",
"second_positions", "projects"
] ]
INT_COLUMNS = [ INT_COLUMNS = [
"active_days", "topic_num", "favor_num", "favor_pure_num", "vote_num", "reply_num", "reply_pure_num", "one_reply_user_num", "active_days", "topic_num", "favor_num", "favor_pure_num", "vote_num", "reply_num", "reply_pure_num", "one_reply_user_num",
"three_reply_user_num", "seven_reply_user_num", "fifteen_reply_user_num", "thirty_reply_user_num", "sixty_reply_user_num", "three_reply_user_num", "seven_reply_user_num", "fifteen_reply_user_num", "thirty_reply_user_num", "sixty_reply_user_num",
"ninety_reply_user_num", "history_reply_user_num", "one_click_num", "three_click_num", "seven_click_num", "fifteen_click_num", "ninety_reply_user_num", "history_reply_user_num", "one_reply_num", "three_reply_num", "seven_reply_num", "fifteen_reply_num",
"thirty_click_num", "sixty_click_num", "ninety_click_num", "history_click_num", "topic_seven_click_num", "thirty_reply_num", "sixty_reply_num", "ninety_reply_num", "history_reply_num", "one_click_num", "three_click_num",
"topic_thirty_click_num", "one_precise_exposure_num", "three_precise_exposure_num", "seven_precise_exposure_num", "seven_click_num", "fifteen_click_num", "thirty_click_num", "sixty_click_num", "ninety_click_num", "history_click_num",
"fifteen_precise_exposure_num", "thirty_precise_exposure_num", "sixty_precise_exposure_num", "ninety_precise_exposure_num", "topic_seven_click_num", "topic_thirty_click_num", "one_precise_exposure_num", "three_precise_exposure_num",
"history_precise_exposure_num", "one_vote_user_num", "three_vote_user_num", "seven_vote_user_num", "fifteen_vote_user_num", "seven_precise_exposure_num", "fifteen_precise_exposure_num", "thirty_precise_exposure_num", "sixty_precise_exposure_num",
"thirty_vote_user_num", "sixty_vote_user_num", "ninety_vote_user_num", "history_vote_user_num", "seven_transform_num", "ninety_precise_exposure_num", "history_precise_exposure_num", "one_vote_user_num", "three_vote_user_num",
"thirty_transform_num" "seven_vote_user_num", "fifteen_vote_user_num", "thirty_vote_user_num", "sixty_vote_user_num", "ninety_vote_user_num",
"history_vote_user_num", "seven_transform_num", "thirty_transform_num"
] ]
FLOAT_COLUMNS = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"] FLOAT_COLUMNS = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"]
CATEGORICAL_COLUMNS = [ CATEGORICAL_COLUMNS = [
......
...@@ -7,11 +7,30 @@ from ..utils import common_elements, nth_element ...@@ -7,11 +7,30 @@ from ..utils import common_elements, nth_element
TRACTATE_COLUMNS = [ TRACTATE_COLUMNS = [
"card_id", "is_pure_author", "is_have_pure_reply", "is_have_reply", "content_level", "show_tag_id", "reply_num", "card_id", "is_pure_author", "is_have_pure_reply", "is_have_reply", "content_level", "show_tag_id", "reply_num",
"reply_pure_num", "one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr", "reply_pure_num", "one_reply_user_num", "three_reply_user_num", "seven_reply_user_num", "fifteen_reply_user_num",
"first_demands", "second_demands", "first_solutions", "second_solutions", "first_positions", "second_positions", "projects" "thirty_reply_user_num", "sixty_reply_user_num", "ninety_reply_user_num", "history_reply_user_num", "one_reply_num",
"three_reply_num", "seven_reply_num", "fifteen_reply_num", "thirty_reply_num", "sixty_reply_num", "ninety_reply_num",
"history_reply_num", "one_click_num", "three_click_num", "seven_click_num", "fifteen_click_num", "thirty_click_num",
"sixty_click_num", "ninety_click_num", "history_click_num", "one_precise_exposure_num", "three_precise_exposure_num",
"seven_precise_exposure_num", "fifteen_precise_exposure_num", "thirty_precise_exposure_num", "sixty_precise_exposure_num",
"ninety_precise_exposure_num", "history_precise_exposure_num", "one_vote_user_num", "three_vote_user_num",
"seven_vote_user_num", "fifteen_vote_user_num", "thirty_vote_user_num", "sixty_vote_user_num", "ninety_vote_user_num",
"history_vote_user_num", "one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr",
"history_ctr", "first_demands", "second_demands", "first_solutions", "second_solutions", "first_positions",
"second_positions", "projects"
] ]
INT_COLUMNS = ["active_days", "reply_num", "reply_pure_num"] INT_COLUMNS = [
"active_days", "reply_num", "reply_pure_num", "one_reply_user_num", "three_reply_user_num", "seven_reply_user_num",
"fifteen_reply_user_num", "thirty_reply_user_num", "sixty_reply_user_num", "ninety_reply_user_num", "history_reply_user_num",
"one_reply_num", "three_reply_num", "seven_reply_num", "fifteen_reply_num", "thirty_reply_num", "sixty_reply_num",
"ninety_reply_num", "history_reply_num", "one_click_num", "three_click_num", "seven_click_num", "fifteen_click_num",
"thirty_click_num", "sixty_click_num", "ninety_click_num", "history_click_num", "one_precise_exposure_num",
"three_precise_exposure_num", "seven_precise_exposure_num", "fifteen_precise_exposure_num", "thirty_precise_exposure_num",
"sixty_precise_exposure_num", "ninety_precise_exposure_num", "history_precise_exposure_num", "one_vote_user_num",
"three_vote_user_num", "seven_vote_user_num", "fifteen_vote_user_num", "thirty_vote_user_num", "sixty_vote_user_num",
"ninety_vote_user_num", "history_vote_user_num"
]
FLOAT_COLUMNS = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"] FLOAT_COLUMNS = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"]
CATEGORICAL_COLUMNS = [ CATEGORICAL_COLUMNS = [
"device_id", "active_type", "past_consume_ability_history", "potential_consume_ability_history", "price_sensitive_history", "device_id", "active_type", "past_consume_ability_history", "potential_consume_ability_history", "price_sensitive_history",
......
...@@ -6,8 +6,55 @@ from .fe.tractate_fe import device_tractate_fe ...@@ -6,8 +6,55 @@ from .fe.tractate_fe import device_tractate_fe
from .model import _bytes_feature, _float_feature, _int64_feature from .model import _bytes_feature, _float_feature, _int64_feature
_int_columns = [ _int_columns = [
"active_type", "active_days", "card_id", "is_pure_author", "is_have_reply", "is_have_pure_reply", "content_level", "active_type",
"reply_num", "reply_pure_num" "active_days",
"card_id",
"is_pure_author",
"is_have_reply",
"is_have_pure_reply",
"content_level",
"reply_num",
"reply_pure_num",
"one_reply_user_num",
"three_reply_user_num",
"seven_reply_user_num",
"fifteen_reply_user_num",
"thirty_reply_user_num",
"sixty_reply_user_num",
"ninety_reply_user_num",
"history_reply_user_num",
"one_reply_num",
"three_reply_num",
"seven_reply_num",
"fifteen_reply_num",
"thirty_reply_num",
"sixty_reply_num",
"ninety_reply_num",
"history_reply_num",
"one_click_num",
"three_click_num",
"seven_click_num",
"fifteen_click_num",
"thirty_click_num",
"sixty_click_num",
"ninety_click_num",
"history_click_num",
"one_precise_exposure_num",
"three_precise_exposure_num",
"seven_precise_exposure_num",
"fifteen_precise_exposure_num",
"thirty_precise_exposure_num",
"sixty_precise_exposure_num",
"ninety_precise_exposure_num",
"history_precise_exposure_num",
"one_vote_user_num",
"three_vote_user_num",
"seven_vote_user_num",
"fifteen_vote_user_num",
"thirty_vote_user_num",
"sixty_vote_user_num",
"ninety_vote_user_num",
"history_vote_user_num",
] ]
_float_columns = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"] _float_columns = ["one_ctr", "three_ctr", "seven_ctr", "fifteen_ctr", "thirty_ctr", "sixty_ctr", "ninety_ctr", "history_ctr"]
_categorical_columns = [ _categorical_columns = [
...@@ -20,6 +67,7 @@ _categorical_columns = [ ...@@ -20,6 +67,7 @@ _categorical_columns = [
PREDICTION_ALL_COLUMNS = _int_columns + _float_columns + _categorical_columns PREDICTION_ALL_COLUMNS = _int_columns + _float_columns + _categorical_columns
def model_predict_tractate(device_id, tractate_ids, device_dict, tractate_dict, predict_fn): def model_predict_tractate(device_id, tractate_ids, device_dict, tractate_dict, predict_fn):
try: try:
time_1 = timeit.default_timer() time_1 = timeit.default_timer()
......
...@@ -58,7 +58,8 @@ def main(): ...@@ -58,7 +58,8 @@ def main():
estimator_config = tf.estimator.RunConfig(session_config=session_config) estimator_config = tf.estimator.RunConfig(session_config=session_config)
model = tf.estimator.Estimator(model_fn=esmm_model_fn, params=params, model_dir=model_path, config=estimator_config) model = tf.estimator.Estimator(model_fn=esmm_model_fn, params=params, model_dir=model_path, config=estimator_config)
train_spec = tf.estimator.TrainSpec(input_fn=lambda: esmm_input_fn(train_df, shuffle=True), max_steps=50000) # TODO 50000
train_spec = tf.estimator.TrainSpec(input_fn=lambda: esmm_input_fn(train_df, shuffle=True), max_steps=20000)
eval_spec = tf.estimator.EvalSpec(input_fn=lambda: esmm_input_fn(val_df, shuffle=False)) eval_spec = tf.estimator.EvalSpec(input_fn=lambda: esmm_input_fn(val_df, shuffle=False))
res = tf.estimator.train_and_evaluate(model, train_spec, eval_spec) res = tf.estimator.train_and_evaluate(model, train_spec, eval_spec)
print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@") print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
...@@ -69,7 +70,8 @@ def main(): ...@@ -69,7 +70,8 @@ def main():
model_export_path = str(Path("~/data/models/tractate/").expanduser()) model_export_path = str(Path("~/data/models/tractate/").expanduser())
save_path = model_export(model, all_features, model_export_path) save_path = model_export(model, all_features, model_export_path)
print("save to: " + save_path) print("save to: " + save_path)
set_essm_model_save_path("tractate", save_path) # TODO save model
# set_essm_model_save_path("tractate", save_path)
print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@") print("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
print("============================================================") print("============================================================")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment