Commit c12587a2 authored by 赵威's avatar 赵威

try tractate cross features

parent e24d26a6
...@@ -289,6 +289,15 @@ CATEGORICAL_COLUMNS = [ ...@@ -289,6 +289,15 @@ CATEGORICAL_COLUMNS = [
"is_related_service", "is_related_service",
"service_city", "service_city",
] ]
CROSS_COLUMNS = [
["device_fd", "content_fd"],
["device_sd", "content_sd"],
["device_fs", "content_fs"],
["device_ss", "content_ss"],
["device_fp", "content_fp"],
["device_sp", "content_sp"],
["device_p", "content_p"],
]
def read_csv_data(dataset_path): def read_csv_data(dataset_path):
......
...@@ -47,7 +47,8 @@ def main(): ...@@ -47,7 +47,8 @@ def main():
train_df, test_df = train_test_split(df, test_size=0.2) train_df, test_df = train_test_split(df, test_size=0.2)
train_df, val_df = train_test_split(train_df, test_size=0.2) train_df, val_df = train_test_split(train_df, test_size=0.2)
all_features = fe.build_features(df, tractate_fe.INT_COLUMNS, tractate_fe.FLOAT_COLUMNS, tractate_fe.CATEGORICAL_COLUMNS) all_features = fe.build_features(df, tractate_fe.INT_COLUMNS, tractate_fe.FLOAT_COLUMNS, tractate_fe.CATEGORICAL_COLUMNS,
tractate_fe.CROSS_COLUMNS)
params = {"feature_columns": all_features, "hidden_units": [360, 200, 80, 2], "learning_rate": 0.2} params = {"feature_columns": all_features, "hidden_units": [360, 200, 80, 2], "learning_rate": 0.2}
model_path = str(Path("/data/files/model_tmp/tractate/").expanduser()) model_path = str(Path("/data/files/model_tmp/tractate/").expanduser())
if os.path.exists(model_path): if os.path.exists(model_path):
...@@ -59,7 +60,8 @@ def main(): ...@@ -59,7 +60,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=15000)
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("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@")
...@@ -74,8 +76,9 @@ def main(): ...@@ -74,8 +76,9 @@ def main():
model_export_path = str(Path("/data/files/models/tractate/").expanduser()) model_export_path = str(Path("/data/files/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
record_esmm_auc_to_db("tractate", ctr_auc, ctcvr_auc, total_time, save_path) # set_essm_model_save_path("tractate", save_path)
# record_esmm_auc_to_db("tractate", ctr_auc, ctcvr_auc, total_time, save_path)
print("============================================================") print("============================================================")
# save_path = get_essm_model_save_path("tractate") # save_path = get_essm_model_save_path("tractate")
......
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