|
@@ -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);
|