Browse Source

feature_xgb

丁云鹏 8 months ago
parent
commit
d0c2efda8a

+ 8 - 7
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/BaseXGBoostModelScorer.java

@@ -1,14 +1,14 @@
 package com.tzld.piaoquan.recommend.server.service.score;
 
 import com.google.common.reflect.TypeToken;
+import com.typesafe.config.ConfigObject;
+import com.typesafe.config.ConfigValue;
 import com.tzld.piaoquan.recommend.server.service.score.model.XGBoostModel;
 import com.tzld.piaoquan.recommend.server.util.JSONUtils;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.MapUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Map;
+import java.util.List;
 
 
 public abstract class BaseXGBoostModelScorer extends AbstractScorer {
@@ -23,10 +23,11 @@ public abstract class BaseXGBoostModelScorer extends AbstractScorer {
     public void loadModel() {
         doLoadModel(XGBoostModel.class);
         XGBoostModel model = (XGBoostModel) this.getModel();
-        Map<String, String> paramMap = scorerConfigInfo.getParamMap();
-        if (MapUtils.isNotEmpty(paramMap)) {
-            model.setFeatures(JSONUtils.fromJson(paramMap.get("features"), new TypeToken<String[]>() {
-            }, null));
+        ConfigObject paramMap = scorerConfigInfo.getParamMap();
+        if (paramMap != null) {
+            ConfigValue value = paramMap.get("features");
+            List<String> features = (List<String>) value.unwrapped();
+            model.setFeatures(features.toArray(new String[features.size()]));
         }
 
 

+ 2 - 4
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/ScorerConfig.java

@@ -99,11 +99,9 @@ public class ScorerConfig {
             if (conf.hasPath("disable-switch")) {
                 disableSwitch = conf.getBoolean("disable-switch");
             }
-            Map<String, String> paramMap = null;
+            ConfigObject paramMap = null;
             if (conf.hasPath("param")) {
-                String param = conf.getString("param");
-                paramMap = JSONUtils.fromJson(param, new TypeToken<Map<String, String>>() {
-                }, Collections.emptyMap());
+                paramMap = conf.getObject("param");
             }
 
 

+ 5 - 3
recommend-server-service/src/main/java/com/tzld/piaoquan/recommend/server/service/score/ScorerConfigInfo.java

@@ -2,6 +2,8 @@ package com.tzld.piaoquan.recommend.server.service.score;
 
 import com.google.gson.Gson;
 import com.typesafe.config.Config;
+import com.typesafe.config.ConfigObject;
+import com.typesafe.config.ConfigValue;
 
 import java.util.Map;
 import java.util.Set;
@@ -16,7 +18,7 @@ public class ScorerConfigInfo {
     private Set<String> enableQueues;
     private String modelPath;
     private Config paramConfig; // param config
-    private Map<String,String> paramMap;
+    private ConfigObject paramMap;
 
     public ScorerConfigInfo(String configName,
                             String scorerName,
@@ -25,7 +27,7 @@ public class ScorerConfigInfo {
                             Set<String> enableQueues,
                             String modelPath,
                             Config paramConfig,
-                            Map<String, String> paramMap) {
+                            ConfigObject paramMap) {
 
         this.configName = configName;
         this.scorerName = scorerName;
@@ -75,7 +77,7 @@ public class ScorerConfigInfo {
         return disableSwitch;
     }
 
-    public Map<String, String> getParamMap(){
+    public ConfigObject getParamMap(){
         return paramMap;
     }
 

+ 1 - 1
recommend-server-service/src/main/resources/feeds_score_config_20240826.conf

@@ -4,7 +4,7 @@ scorer-config = {
     scorer-priority = 99
     model-path = "zhangbo/model_xgb_1000.tar.gz"
     param = {
-      "features":["cpa","b2_1h_ctr","b2_1h_ctcvr"]
+      features = ["cpa","b2_1h_ctr","b2_1h_ctcvr"]
     }
   }