Browse Source

add rule6 test

liqian 3 years ago
parent
commit
09f24ea509
2 changed files with 5 additions and 0 deletions
  1. 1 0
      config.py
  2. 4 0
      rule_rank_h.py

+ 1 - 0
config.py

@@ -77,6 +77,7 @@ class BaseConfig(object):
         'rule3': {'view_type': 'pre-view', 'return_count': 20, 'score_rule': 0.005},
         # 'rule4': {'cal_score_func': 2, 'return_count': 20, 'score_rule': 0},  # 下线
         # 'rule5': {'cal_score_func': 3, 'return_count': 20, 'score_rule': 0},  # 下线
+        'rule6': {'view_type': 'video-show', 'return_count': 20, 'score_rule': 0.005},
     }
 
     # app_type: [18, 19]预测表名

+ 4 - 0
rule_rank_h.py

@@ -24,6 +24,8 @@ features = [
     'lastonehour_view_total_final',  # 过去1小时曝光次数
     'lastonehour_play_total_final',  # 过去1小时播放次数
     'lastonehour_share_total_final',  # 过去1小时分享次数
+    'lastonehour_show',  # 过去1小时video_show人数
+    'lastonehour_show_total_final',  # 过去1小时video_show次数
 ]
 
 
@@ -95,6 +97,8 @@ def cal_score(df, param):
     df['log_back'] = (df['lastonehour_return'] + 1).apply(math.log)
     if param.get('view_type', None) == 'pre-view':
         df['ctr'] = df['lastonehour_play'] / (df['lastonehour_preview'] + 1000)
+    elif param.get('view_type', None) == 'video-show':
+        df['ctr'] = df['lastonehour_play'] / (df['lastonehour_show'] + 1000)
     else:
         df['ctr'] = df['lastonehour_play'] / (df['lastonehour_view'] + 1000)
     df['K2'] = df['ctr'].apply(lambda x: 0.6 if x > 0.6 else x)