|
@@ -247,7 +247,7 @@ def xgb_train_multi_dt_data(t_1_label_dt: datetime):
|
|
|
:return:
|
|
|
"""
|
|
|
with concurrent.futures.ThreadPoolExecutor(3) as executor:
|
|
|
- t_1_feature_dt = t_1_label_dt - timedelta(1)
|
|
|
+ t_1_feature_dt = t_1_label_dt - timedelta(2)
|
|
|
logger.info(
|
|
|
f"VOV模型特征数据处理 --- t_1_label_future:"
|
|
|
f"\t label_datetime: {t_1_label_dt.strftime('%Y%m%d')} "
|
|
@@ -290,18 +290,19 @@ def xgb_predict_dt_data(label_datetime: datetime):
|
|
|
:return:
|
|
|
"""
|
|
|
feature_start_datetime = label_datetime
|
|
|
+ view_rate_datetime = label_datetime + timedelta(2)
|
|
|
logger.info(
|
|
|
f"VOV模型预测数据处理 --- predict_df: "
|
|
|
f"\t label_datetime: {label_datetime.strftime('%Y%m%d')} "
|
|
|
f"\t feature_datetime: {feature_start_datetime.strftime('%Y%m%d')} "
|
|
|
- f"\t view_rate_datetime: {label_datetime.strftime('%Y%m%d')} "
|
|
|
+ f"\t view_rate_datetime: {view_rate_datetime.strftime('%Y%m%d')} "
|
|
|
)
|
|
|
- return fetch_data(label_datetime, feature_start_datetime, label_datetime)
|
|
|
+ return fetch_data(label_datetime, feature_start_datetime, view_rate_datetime)
|
|
|
|
|
|
|
|
|
def _main():
|
|
|
logger.info(f"XGB模型训练")
|
|
|
- train_df = xgb_train_multi_dt_data((datetime.now() - timedelta(days=1)))
|
|
|
+ train_df = xgb_train_multi_dt_data((datetime.now() - timedelta(days=4)))
|
|
|
trains_array = train_df[features_name].values
|
|
|
trains_label_array = train_df['label'].values
|
|
|
|
|
@@ -323,7 +324,7 @@ def _main():
|
|
|
model.fit(trains_array, trains_label_array)
|
|
|
|
|
|
logger.info("获取评测数据")
|
|
|
- predict_df = xgb_predict_dt_data((datetime.now() - timedelta(days=1)))
|
|
|
+ predict_df = xgb_predict_dt_data((datetime.now() - timedelta(days=3)))
|
|
|
tests_array = predict_df[features_name].values
|
|
|
y_pred = model.predict_proba(tests_array)[:, 1]
|
|
|
predict_df["y_pred"] = y_pred
|
|
@@ -387,15 +388,15 @@ def _main():
|
|
|
)
|
|
|
|
|
|
# 写入Redis
|
|
|
- redis_key = f"redis:lower_vov_vid:{datetime.now().strftime('%Y%m%d')}"
|
|
|
-
|
|
|
- logger.info(f"当前环境为: {config_manager.get_env()}, 要写入的Redis Key为: {redis_key}")
|
|
|
- host, port, password = config_manager.get_algorithm_redis_info()
|
|
|
- alg_redis = RedisHelper.RedisHelper(host=host, port=port, password=password)
|
|
|
- for vid in filtered_vid.tolist():
|
|
|
- alg_redis.add_number_to_set(redis_key, vid)
|
|
|
-
|
|
|
- alg_redis.set_expire(redis_key, 86400)
|
|
|
+ # redis_key = f"redis:lower_vov_vid:{datetime.now().strftime('%Y%m%d')}"
|
|
|
+ #
|
|
|
+ # logger.info(f"当前环境为: {config_manager.get_env()}, 要写入的Redis Key为: {redis_key}")
|
|
|
+ # host, port, password = config_manager.get_algorithm_redis_info()
|
|
|
+ # alg_redis = RedisHelper.RedisHelper(host=host, port=port, password=password)
|
|
|
+ # for vid in filtered_vid.tolist():
|
|
|
+ # alg_redis.add_number_to_set(redis_key, vid)
|
|
|
+ #
|
|
|
+ # alg_redis.set_expire(redis_key, 86400)
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
@@ -438,8 +439,9 @@ if __name__ == '__main__':
|
|
|
card_json['i18n_header']['zh_cn']['template'] = "red"
|
|
|
card_json['i18n_header']['zh_cn']["title"]['content'] = "XGB模型训练预测失败"
|
|
|
card_json['i18n_elements']['zh_cn'][0]['content'] = msg_text
|
|
|
- # 发送通知
|
|
|
- feishu_inform_util.send_card_msg_to_feishu(
|
|
|
- webhook=config_manager.get_vov_model_inform_feishu_webhook(),
|
|
|
- card_json=card_json
|
|
|
- )
|
|
|
+ if config_manager.get_env() == "pro":
|
|
|
+ # 发送通知
|
|
|
+ feishu_inform_util.send_card_msg_to_feishu(
|
|
|
+ webhook=config_manager.get_vov_model_inform_feishu_webhook(),
|
|
|
+ card_json=card_json
|
|
|
+ )
|