Bläddra i källkod

bugfix: bug修复

yq 1 månad sedan
förälder
incheckning
cb65be58ab
3 ändrade filer med 15 tillägg och 7 borttagningar
  1. 8 0
      entitys/ml_config_entity.py
  2. 3 3
      feature/woe/strategy_woe.py
  3. 4 4
      model/model_lr.py

+ 8 - 0
entitys/ml_config_entity.py

@@ -35,6 +35,7 @@ class MlConfigEntity():
                  breaks_list: dict = None,
                  format_bin: str = False,
                  jupyter_print=False,
+                 bin_detail_print=True,
                  stress_test=False,
                  stress_sample_times=100,
                  stress_bad_rate_list: List[float] = [],
@@ -73,6 +74,9 @@ class MlConfigEntity():
         # jupyter下输出内容
         self._jupyter_print = jupyter_print
 
+        # jupyter下输出内容
+        self._bin_detail_print = bin_detail_print
+
         # 单调性允许变化次数
         self._monto_shift_threshold = monto_shift_threshold
 
@@ -161,6 +165,10 @@ class MlConfigEntity():
     def jupyter_print(self):
         return self._jupyter_print
 
+    @property
+    def bin_detail_print(self):
+        return self._bin_detail_print
+
     @property
     def base_dir(self):
         return self._base_dir

+ 3 - 3
feature/woe/strategy_woe.py

@@ -324,7 +324,7 @@ class StrategyWoe(FeatureStrategyBase):
         train_woe = sc.woebin_ply(train_data[x_columns], sc_woebin, print_info=False)
         corr_df = f_get_corr(train_woe)
         corr_dict = corr_df.to_dict()
-        filter_corr_overview = "filter_corr\n"
+        filter_corr_overview = ""
         filter_corr_detail = {}
         # 依次判断每个变量对于其它变量的相关性
         for column, corr in corr_dict.items():
@@ -407,7 +407,7 @@ class StrategyWoe(FeatureStrategyBase):
         bin_info_filtered: Dict[str, BinInfo] = {}
         # 数值型变量多种分箱方式的中间结果
         homo_bin_info_numeric_set: Dict[str, HomologousBinInfo] = {}
-        filter_numeric_overview = "filter_numeric\n"
+        filter_numeric_overview = ""
         filter_numeric_detail = []
         for x_column in tqdm(x_columns):
             if is_numeric_dtype(data.train_data[x_column]):
@@ -556,7 +556,7 @@ class StrategyWoe(FeatureStrategyBase):
             print(notes)
             print(filter.get("overview"))
             detail = filter.get("detail")
-            if detail is not None:
+            if detail is not None and self.ml_config.bin_detail_print:
                 detail_print(detail)
 
         train_data = data.train_data

+ 4 - 4
model/model_lr.py

@@ -186,15 +186,15 @@ class ModelLr(ModelBase):
         display.display(metric_value_dict["模型结果"].table)
         f_display_images_by_side(display, metric_value_dict["模型结果"].image_path)
 
+        f_display_title(display, "模型变量系数")
+        print(self.lr.summary().tables[0])
+        display.display(metric_value_dict["变量系数"].table)
+
         # 模型psi
         f_display_title(display, "模型psi")
         display.display(metric_value_dict["模型稳定性"].table)
         print(f"模型psi: {metric_value_dict['模型稳定性'].value}")
 
-        f_display_title(display, "模型变量系数")
-        print(self.lr.summary().tables[0])
-        display.display(metric_value_dict["变量系数"].table)
-
         f_display_title(display, "分数分箱")
         print("训练集-分数分箱")
         display.display(metric_value_dict["训练集分数分箱"].table)