jch 2 mesiacov pred
rodič
commit
f3ec6e46ee

+ 19 - 19
src/main/scala/com/aliyun/odps/spark/examples/myUtils/FeatureTransform.java

@@ -5,6 +5,8 @@ import examples.utils.SimilarityUtils;
 import java.util.*;
 
 public class FeatureTransform {
+    private static final int seqMaxN = 2;
+    private static final int seqLastN = 2;
     private static final double smoothPlus = 5.0;
     private static final List<String> hourPeriods = Arrays.asList("1h", "3h", "6h", "12h", "24h", "72h", "168h");
     private static final List<String> dayPeriods = Arrays.asList("7d", "14d", "30d", "60d");
@@ -50,15 +52,15 @@ public class FeatureTransform {
                 double ros_one = FeatureUtils.wilsonScore(r_pv, s_pv);
                 double ros = FeatureUtils.plusSmooth(r_uv, s_pv, smoothPlus);
                 double ros_minus = FeatureUtils.plusSmooth(r_uv, r_pv, smoothPlus);
-                featMap.put("up@s_pv", s_pv_s);
-                featMap.put("up@s_cnt", s_cnt_s);
-                featMap.put("up@r_pv", r_pv_s);
-                featMap.put("up@r_uv", r_uv_s);
-                featMap.put("up@m_s_cnt", m_s_cnt_s);
-                featMap.put("up@m_r_uv", m_r_uv_s);
-                featMap.put("up@ros_one", ros_one);
-                featMap.put("up@ros", ros);
-                featMap.put("up@ros_minus", ros_minus);
+                featMap.put("c9_s_pv", s_pv_s);
+                featMap.put("c9_s_cnt", s_cnt_s);
+                featMap.put("c9_r_pv", r_pv_s);
+                featMap.put("c9_r_uv", r_uv_s);
+                featMap.put("c9_m_s_cnt", m_s_cnt_s);
+                featMap.put("c9_m_r_uv", m_r_uv_s);
+                featMap.put("c9_ros_one", ros_one);
+                featMap.put("c9_ros", ros);
+                featMap.put("c9_ros_minus", ros_minus);
             }
         }
     }
@@ -153,20 +155,18 @@ public class FeatureTransform {
         if (null == profile) {
             return;
         }
-
-        int maxN = 2;
-        getRSCrossFeature("mss", currentMs, maxN, profile.getM_s_s(), rankVideo, hVideoMap, featMap);
-        getRSCrossFeature("mrs", currentMs, maxN, profile.getM_r_s(), rankVideo, hVideoMap, featMap);
-        getRSCrossFeature("lss", currentMs, maxN, profile.getL_s_s(), rankVideo, hVideoMap, featMap);
-        getRSCrossFeature("lrs", currentMs, maxN, profile.getL_r_s(), rankVideo, hVideoMap, featMap);
+        getRSCrossFeature("c9_mss", currentMs, seqMaxN, profile.getM_s_s(), rankVideo, hVideoMap, featMap);
+        getRSCrossFeature("c9_mrs", currentMs, seqMaxN, profile.getM_r_s(), rankVideo, hVideoMap, featMap);
+        getRSCrossFeature("c9_lss", currentMs, seqLastN, profile.getL_s_s(), rankVideo, hVideoMap, featMap);
+        getRSCrossFeature("c9_lrs", currentMs, seqLastN, profile.getL_r_s(), rankVideo, hVideoMap, featMap);
 
         if (null == rankVideo || rankVideo.isEmpty()) {
             return;
         }
-        getVideoAttrSRCrossFeature("c1s", rankVideo.getOrDefault("merge_first_level_cate", ""), profile.getC1_s(), featMap);
-        getVideoAttrSRCrossFeature("c2s", rankVideo.getOrDefault("merge_second_level_cate", ""), profile.getC2_s(), featMap);
-        getVideoAttrSRCrossFeature("l1s", rankVideo.getOrDefault("festive_label1", ""), profile.getL1_s(), featMap);
-        getVideoAttrSRCrossFeature("l2s", rankVideo.getOrDefault("festive_label2", ""), profile.getL2_s(), featMap);
+        getVideoAttrSRCrossFeature("c9_c1s", rankVideo.getOrDefault("merge_first_level_cate", ""), profile.getC1_s(), featMap);
+        getVideoAttrSRCrossFeature("c9_c2s", rankVideo.getOrDefault("merge_second_level_cate", ""), profile.getC2_s(), featMap);
+        getVideoAttrSRCrossFeature("c9_l1s", rankVideo.getOrDefault("festive_label1", ""), profile.getL1_s(), featMap);
+        getVideoAttrSRCrossFeature("c9_l2s", rankVideo.getOrDefault("festive_label2", ""), profile.getL2_s(), featMap);
     }
 
     private static void getRSCrossFeature(String prefix, long currentMs, int maxN, List<UserSRBO> list, Map<String, String> rankVideo, Map<String, Map<String, String>> hVideoMap, Map<String, Double> featMap) {