| 
														
															@@ -37,16 +37,16 @@ public class FeatureTransformV2 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         int week = calendar.get(Calendar.DAY_OF_WEEK); 
														 | 
														
														 | 
														
															         int week = calendar.get(Calendar.DAY_OF_WEEK); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         int hour = calendar.get(Calendar.HOUR_OF_DAY) + 1; 
														 | 
														
														 | 
														
															         int hour = calendar.get(Calendar.HOUR_OF_DAY) + 1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        featureMap.put("week", week * 1.0); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        featureMap.put("hour", hour * 1.0); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        featureMap.put(String.format("%s@%d", "week", week), 1.0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        featureMap.put(String.format("%s@%d", "hour", hour), 1.0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public static void getUserFeature(Map<String, Map<String, String>> userOriginInfo, Map<String, Double> featMap) { 
														 | 
														
														 | 
														
															     public static void getUserFeature(Map<String, Map<String, String>> userOriginInfo, Map<String, Double> featMap) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         oneTypeStatFeature("c1", "return_1_uv", c1Periods, userOriginInfo.get("mid_global_feature_20250212"), featMap); 
														 | 
														
														 | 
														
															         oneTypeStatFeature("c1", "return_1_uv", c1Periods, userOriginInfo.get("mid_global_feature_20250212"), featMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<String, String> c4Map = userOriginInfo.get("mid_u2u_friend_index_feature_20250212"); 
														 | 
														
														 | 
														
															         Map<String, String> c4Map = userOriginInfo.get("mid_u2u_friend_index_feature_20250212"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        for (String calType : Arrays.asList("avg_", "max_", "min_")) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            getRateStatFeature("c4", calType, c4Periods, c4Map, featMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        } 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//        for (String calType : Arrays.asList("avg_", "max_", "min_")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//            getRateStatFeature("c4", calType, c4Periods, c4Map, featMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+//        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public static void getUserProfileFeature(UserShareReturnProfile profile, Map<String, String> userInfo, Map<String, Double> featMap) { 
														 | 
														
														 | 
														
															     public static void getUserProfileFeature(UserShareReturnProfile profile, Map<String, String> userInfo, Map<String, Double> featMap) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -160,8 +160,12 @@ public class FeatureTransformV2 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (null == videoInfo || videoInfo.isEmpty()) { 
														 | 
														
														 | 
														
															         if (null == videoInfo || videoInfo.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return; 
														 | 
														
														 | 
														
															             return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        featMap.put(prefix + "@total_time", Double.parseDouble(videoInfo.getOrDefault("total_time", "0"))); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        featMap.put(prefix + "@bit_rate", Double.parseDouble(videoInfo.getOrDefault("bit_rate", "0"))); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        featMap.put(prefix + "@total_time", FeatureUtils.log1(Double.parseDouble(videoInfo.getOrDefault("total_time", "0")), log1Scale)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        featMap.put(prefix + "@bit_rate", FeatureUtils.log1(Double.parseDouble(videoInfo.getOrDefault("bit_rate", "0")), log1Scale)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (videoInfo.containsKey("width") && videoInfo.containsKey("height")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            String resolution = String.format("%s@%s@%s_%s", prefix, "wh", videoInfo.containsKey("width"), videoInfo.containsKey("height")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            featMap.put(resolution, 1.0); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // cate 
														 | 
														
														 | 
														
															         // cate 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         getVideoCateFeature(prefix, videoInfo, featMap); 
														 | 
														
														 | 
														
															         getVideoCateFeature(prefix, videoInfo, featMap); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -327,16 +331,16 @@ public class FeatureTransformV2 { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private static void headVideoCFD2Feature(String prefix, Map<String, String> infoMap, Map<String, Double> featMap) { 
														 | 
														
														 | 
														
															     private static void headVideoCFD2Feature(String prefix, Map<String, String> infoMap, Map<String, Double> featMap) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         double score = getOneInfo("score", infoMap); 
														 | 
														
														 | 
														
															         double score = getOneInfo("score", infoMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         double rank = getOneInfo("rank", infoMap); 
														 | 
														
														 | 
														
															         double rank = getOneInfo("rank", infoMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        double onlines = getOneInfo("onlines", infoMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //double onlines = getOneInfo("onlines", infoMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         featMap.put(prefix + "_score", score); 
														 | 
														
														 | 
														
															         featMap.put(prefix + "_score", score); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         featMap.put(prefix + "_rank", rank); 
														 | 
														
														 | 
														
															         featMap.put(prefix + "_rank", rank); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        featMap.put(prefix + "_onlines", onlines); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //featMap.put(prefix + "_onlines", onlines); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private static void headVideoCFD3Feature(String prefix, Map<String, String> infoMap, Map<String, Double> featMap) { 
														 | 
														
														 | 
														
															     private static void headVideoCFD3Feature(String prefix, Map<String, String> infoMap, Map<String, Double> featMap) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         double exp = getOneInfo("exp", infoMap); 
														 | 
														
														 | 
														
															         double exp = getOneInfo("exp", infoMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         double return_n = getOneInfo("return_n", infoMap); 
														 | 
														
														 | 
														
															         double return_n = getOneInfo("return_n", infoMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        double rovn = getOneInfo("rovn", infoMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        double rovn = FeatureUtils.plusSmooth(return_n, exp, smoothPlus); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         featMap.put(prefix + "_exp", FeatureUtils.log1(exp, log1Scale)); 
														 | 
														
														 | 
														
															         featMap.put(prefix + "_exp", FeatureUtils.log1(exp, log1Scale)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         featMap.put(prefix + "_return_n", FeatureUtils.log1(return_n, log1Scale)); 
														 | 
														
														 | 
														
															         featMap.put(prefix + "_return_n", FeatureUtils.log1(return_n, log1Scale)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         featMap.put(prefix + "_rovn", rovn); 
														 | 
														
														 | 
														
															         featMap.put(prefix + "_rovn", rovn); 
														 |