Przeglądaj źródła

Update pred_01_xgb_ad_hdfsfile_20240813: add saveFeatureScoresOnly

StrayWarrior 3 miesięcy temu
rodzic
commit
1c607f4b66

+ 6 - 0
recommend-model-produce/src/main/scala/com/tzld/piaoquan/recommend/model/pred_01_xgb_ad_hdfsfile_20240813.scala

@@ -30,6 +30,7 @@ object pred_01_xgb_ad_hdfsfile_20240813{
     val savePath = param.getOrElse("savePath", "/dw/recommend/model/34_ad_predict_data/")
     val featureFilter = param.getOrElse("featureFilter", "XXXXXX").split(",")
     val negSampleRate = param.getOrElse("negSampleRate", "1").toDouble
+    val saveFeatureScoresOnly = param.getOrElse("saveFeatureScoresOnly", "false").toBoolean
 
     val repartition = param.getOrElse("repartition", "20").toInt
     val modelPath = param.getOrElse("modelPath", "/dw/recommend/model/35_ad_model/model_xgb")
@@ -63,6 +64,11 @@ object pred_01_xgb_ad_hdfsfile_20240813{
 
     val model = XGBoostClassificationModel.load(modelPath)
     model.setMissing(0.0f).setFeaturesCol("features")
+    if (saveFeatureScoresOnly) {
+      val featureScores = model.nativeBooster.getFeatureScore()
+      sc.parallelize(featureScores.toSeq.map(r => r._1 + "\t" + r._2), 1).saveAsTextFile(savePath)
+      return
+    }
 
     val testData = createData4Ad(
       sc.textFile(testPath),