|  | @@ -8,6 +8,7 @@ public class FeatureTransformV2 {
 | 
	
		
			
				|  |  |      private static final int seqMaxN = 2;
 | 
	
		
			
				|  |  |      private static final int seqLastN = 2;
 | 
	
		
			
				|  |  |      private static final double smoothPlus = 5.0;
 | 
	
		
			
				|  |  | +    private static final double largerSmoothPlus = 50.0;
 | 
	
		
			
				|  |  |      private static final double log1Scale = 10.0;
 | 
	
		
			
				|  |  |      private static final List<String> c1Periods = Arrays.asList("72h", "168h");
 | 
	
		
			
				|  |  |      private static final List<String> b0Periods = Arrays.asList("1h", "3h", "6h", "12h");
 | 
	
	
		
			
				|  | @@ -407,6 +408,12 @@ public class FeatureTransformV2 {
 | 
	
		
			
				|  |  |              double ros_n = FeatureUtils.plusSmooth(return_n_uv, share_cnt, smoothPlus);
 | 
	
		
			
				|  |  |              double ros_minus = FeatureUtils.plusSmooth(return_n_uv, is_return_1, smoothPlus);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            // larger smooth
 | 
	
		
			
				|  |  | +            double l_rovn = FeatureUtils.plusSmooth(return_n_uv, exp, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros = FeatureUtils.plusSmooth(return_n_uv, is_share, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros_n = FeatureUtils.plusSmooth(return_n_uv, share_cnt, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros_minus = FeatureUtils.plusSmooth(return_n_uv, is_return_1, largerSmoothPlus);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "exp", exp_s);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "is_share", is_share_s);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "share_cnt", share_cnt_s);
 | 
	
	
		
			
				|  | @@ -419,6 +426,12 @@ public class FeatureTransformV2 {
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "ros", ros);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "ros_n", ros_n);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "ros_minus", ros_minus);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // larger smooth
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "rovn_#", l_rovn);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_#", l_ros);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_n_#", l_ros_n);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_minus_#", l_ros_minus);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -458,6 +471,17 @@ public class FeatureTransformV2 {
 | 
	
		
			
				|  |  |              double ros_n = FeatureUtils.plusSmooth(return_n_uv, share_cnt, smoothPlus);
 | 
	
		
			
				|  |  |              double ros_minus = FeatureUtils.plusSmooth(return_n_uv, is_return_1, smoothPlus);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +            // larger smooth
 | 
	
		
			
				|  |  | +            double l_rovn1 = FeatureUtils.plusSmooth(return_1_uv, exp, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros1 = FeatureUtils.plusSmooth(return_1_uv, is_share, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros_n1 = FeatureUtils.plusSmooth(return_1_uv, share_cnt, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros_minus1 = FeatureUtils.plusSmooth(return_1_uv, is_return_1, largerSmoothPlus);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            double l_rovn = FeatureUtils.plusSmooth(return_n_uv, exp, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros = FeatureUtils.plusSmooth(return_n_uv, is_share, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros_n = FeatureUtils.plusSmooth(return_n_uv, share_cnt, largerSmoothPlus);
 | 
	
		
			
				|  |  | +            double l_ros_minus = FeatureUtils.plusSmooth(return_n_uv, is_return_1, largerSmoothPlus);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "exp", exp_s);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "is_share", is_share_s);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "share_cnt", share_cnt_s);
 | 
	
	
		
			
				|  | @@ -475,6 +499,16 @@ public class FeatureTransformV2 {
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "ros", ros);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "ros_n", ros_n);
 | 
	
		
			
				|  |  |              featMap.put(prefix + "_" + period + "@" + "ros_minus", ros_minus);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            // larger smooth
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "rovn1_#", l_rovn1);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros1_#", l_ros1);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_n1_#", l_ros_n1);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_minus1_#", l_ros_minus1);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "rovn_#", l_rovn);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_#", l_ros);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_n_#", l_ros_n);
 | 
	
		
			
				|  |  | +            featMap.put(prefix + "_" + period + "@" + "ros_minus_#", l_ros_minus);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |