|
@@ -45,6 +45,12 @@ features = [
|
|
|
'platform_return',
|
|
|
'lastonehour_show', # 不区分地域
|
|
|
'lastonehour_show_region', # 地域分组
|
|
|
+ 'lasttwohour_share', # h-2小时分享人数
|
|
|
+ 'lasttwohour_return', # h-2分享,过去1小时回流人数
|
|
|
+ '上二小时分享上二小时当小时回流', # h-2分享,h-2回流人数
|
|
|
+ 'lastthreehour_share', # h-3小时分享人数
|
|
|
+ 'lastthreehour_return', # h-3分享,过去1小时回流人数
|
|
|
+ '上三小时分享上三小时当小时回流', # h-3分享,h-3回流人数
|
|
|
]
|
|
|
|
|
|
|
|
@@ -125,7 +131,7 @@ def get_feature_data(project, table, now_date):
|
|
|
return feature_df
|
|
|
|
|
|
|
|
|
-def cal_score(df, param):
|
|
|
+def cal_score_initial(df, param):
|
|
|
"""
|
|
|
计算score
|
|
|
:param df: 特征数据
|
|
@@ -166,6 +172,18 @@ def cal_score(df, param):
|
|
|
return df
|
|
|
|
|
|
|
|
|
+def cal_score(df, param):
|
|
|
+ if param.get('score_func', None) == 'add_backrate*log(return+1)':
|
|
|
+ pass
|
|
|
+ elif param.get('score_func', None) == 'multiply_return_retention':
|
|
|
+ pass
|
|
|
+ elif param.get('score_func', None) == 'update_backrate':
|
|
|
+ pass
|
|
|
+ else:
|
|
|
+ df = cal_score_initial(df=df, param=param)
|
|
|
+ return df
|
|
|
+
|
|
|
+
|
|
|
def add_func1(initial_df, pre_h_df):
|
|
|
"""当前小时级数据与前几个小时数据合并"""
|
|
|
score_list = initial_df['score'].to_list()
|