| 
					
				 | 
			
			
				@@ -37,16 +37,16 @@ public class FeatureTransformV2 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int week = calendar.get(Calendar.DAY_OF_WEEK); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        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) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -160,8 +160,12 @@ public class FeatureTransformV2 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (null == videoInfo || videoInfo.isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         double score = getOneInfo("score", infoMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         double rank = getOneInfo("rank", infoMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        double onlines = getOneInfo("onlines", infoMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //double onlines = getOneInfo("onlines", infoMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         featMap.put(prefix + "_score", score); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         double exp = getOneInfo("exp", 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 + "_return_n", FeatureUtils.log1(return_n, log1Scale)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         featMap.put(prefix + "_rovn", rovn); 
			 |