Bladeren bron

83 sample

jch 1 maand geleden
bovenliggende
commit
2769e51c23

+ 2 - 2
src/main/scala/com/aliyun/odps/spark/examples/makedata_recsys_r_rate/makedata_recsys_83_originData_20250317.scala

@@ -124,8 +124,8 @@ object makedata_recsys_83_originData_20250317 {
     val tablePart = param.getOrElse("tablePart", "64").toInt
     val beginStr = param.getOrElse("beginStr", "2025031700")
     val endStr = param.getOrElse("endStr", "2025031700")
-    val whatLabel = param.getOrElse("whatLabel", "is_share")
-    val fuSampleRate = param.getOrElse("fuSampleRate", "0.04").toDouble
+    val whatLabel = param.getOrElse("whatLabel", "is_return_noself")
+    val fuSampleRate = param.getOrElse("fuSampleRate", "0.03").toDouble
     val savePath = param.getOrElse("savePath", "/dw/recommend/model/83_origin_data/")
     val repartition = param.getOrElse("repartition", "64").toInt
 

+ 3 - 1
src/main/scala/com/aliyun/odps/spark/examples/myUtils/ConvertV2.java

@@ -15,6 +15,8 @@ public class ConvertV2 {
         String ts = record.get("ts");
         long currentMs = Long.parseLong(ts) * 1000;
         String vid = record.get("vid");
+        String appType = record.getOrDefault("apptype", "");
+        String hotSencetype = record.getOrDefault("hotsencetype", "");
         Map<String, String> headInfo = ConvertUtils.getRecordCol(record, "v2_feature");
         Map<String, String> rankInfo = ConvertUtils.getRecordCol(record, "v1_feature");
         Map<String, Map<String, String>> userOriginInfo = getUserOriginInfo(record);
@@ -29,7 +31,7 @@ public class ConvertV2 {
         Map<String, Map<String, String[]>> c8Map = FeatureTransformV2.parseUCFScore(userOriginInfo.get("alg_mid_feature_returncf"));
 
         // context feature
-        FeatureTransformV2.getContextFeature(currentMs, featMap);
+        FeatureTransformV2.getContextFeature(currentMs, appType, hotSencetype, featMap);
 
         // head video feature
         FeatureTransformV2.getVideoBaseFeature("h", currentMs, headInfo, featMap);

+ 10 - 1
src/main/scala/com/aliyun/odps/spark/examples/myUtils/FeatureTransformV2.java

@@ -30,8 +30,9 @@ public class FeatureTransformV2 {
     private static final List<String> hVideoSimAttrs = Arrays.asList("title");
     private static final List<String> cfList = Arrays.asList("share", "return");
     private static final List<String> userAttrList = Arrays.asList("province", "city", "model", "brand", "system");
+    private static final Set<String> hotSceneSet = new HashSet<>(Arrays.asList("1008", "1007", "1058", "1074", "1010"));
 
-    public static void getContextFeature(long currentMs, Map<String, Double> featureMap) {
+    public static void getContextFeature(long currentMs, String appType, String hotSceneType, Map<String, Double> featureMap) {
         Calendar calendar = Calendar.getInstance();
         calendar.setTimeInMillis(currentMs);
 
@@ -40,6 +41,14 @@ public class FeatureTransformV2 {
         featureMap.put(String.format("%s@%d", "week", week), 1.0);
         featureMap.put(String.format("%s@%d", "hour", hour), 1.0);
         featureMap.put("hour", hour * 1.0);
+        featureMap.put(String.format("%s@%s", "app", appType), 1.0);
+        String hot;
+        if (hotSceneSet.contains(hotSceneType)) {
+            hot = hotSceneType;
+        } else {
+            hot = "other";
+        }
+        featureMap.put(String.format("%s@%s", "hot", hot), 1.0);
     }
 
     public static void getUserFeature(Map<String, Map<String, String>> userOriginInfo, Map<String, Double> featMap) {