فهرست منبع

rule rank 24h add rule2: view -> videoshow

liqian 2 سال پیش
والد
کامیت
26fa13e6d3
2فایلهای تغییر یافته به همراه7 افزوده شده و 3 حذف شده
  1. 1 0
      config.py
  2. 6 3
      rule_rank_h_by_24h.py

+ 1 - 0
config.py

@@ -112,6 +112,7 @@ class BaseConfig(object):
     # 小时级更新过去24h数据规则参数
     RULE_PARAMS_24H = {
         'rule1': {'cal_score_func': 2, 'return_count': 100, 'platform_return_rate': 0.001},
+        'rule2': {'cal_score_func': 2, 'return_count': 100, 'platform_return_rate': 0.001, 'view_type': 'video-show'},
     }
 
     # 地域分组小时级规则更新使用数据

+ 6 - 3
rule_rank_h_by_24h.py

@@ -103,10 +103,13 @@ def cal_score1(df):
     return df
 
 
-def cal_score2(df):
+def cal_score2(df, param):
     # score2计算公式: score = share次数/(view+1000)+0.01*return/(share次数+100)
     df = df.fillna(0)
-    df['share_rate'] = df['share次数'] / (df['view人数'] + 1000)
+    if param.get('view_type', None) == 'video-show':
+        df['share_rate'] = df['share次数'] / (df['platform_show'] + 1000)
+    else:
+        df['share_rate'] = df['share次数'] / (df['view人数'] + 1000)
     df['back_rate'] = df['回流人数'] / (df['share次数'] + 100)
     df['score'] = df['share_rate'] + 0.01 * df['back_rate']
     df['platform_return_rate'] = df['platform_return'] / df['回流人数']
@@ -186,7 +189,7 @@ def rank_by_h(now_date, now_h, rule_params, project, table):
         # 计算score
         cal_score_func = value.get('cal_score_func', 1)
         if cal_score_func == 2:
-            score_df = cal_score2(df=feature_df)
+            score_df = cal_score2(df=feature_df, param=value)
         else:
             score_df = cal_score1(df=feature_df)
         video_rank_h(df=score_df, now_date=now_date, now_h=now_h, rule_key=key, param=value)