浏览代码

add: rules_test

yq 1 月之前
父节点
当前提交
c692dcf4c1
共有 4 个文件被更改,包括 16 次插入6 次删除
  1. 4 0
      data/insight/data_explore.py
  2. 2 1
      feature/__init__.py
  3. 2 1
      model/__init__.py
  4. 8 4
      pipeline/pipeline.py

+ 4 - 0
data/insight/data_explore.py

@@ -9,6 +9,8 @@ import numbers
 import pandas as pd
 from pandas.core.dtypes.common import is_numeric_dtype
 
+from enums import ConstantEnum
+
 
 class DataExplore():
 
@@ -18,6 +20,8 @@ class DataExplore():
     @staticmethod
     def check_type(df: pd.DataFrame):
         check_msg = ""
+        if ConstantEnum.SCORE.value in df.columns:
+            check_msg = f"{check_msg}请修改列【{ConstantEnum.SCORE.value}】的名称\n"
         for column in df.columns:
             if not is_numeric_dtype(df[column]):
                 values = list(df[column])

+ 2 - 1
feature/__init__.py

@@ -4,6 +4,7 @@
 @time: 2024/11/1
 @desc: 特征挖掘
 """
+from .feature_strategy_base import FeatureStrategyBase
 from .feature_strategy_factory import FeatureStrategyFactory
 
-__all__ = ['FeatureStrategyFactory']
+__all__ = ['FeatureStrategyFactory', 'FeatureStrategyBase']

+ 2 - 1
model/__init__.py

@@ -6,5 +6,6 @@
 """
 from .model_base import ModelBase
 from .model_factory import ModelFactory
+from .model_utils import f_add_rules
 
-__all__ = ['ModelBase', 'ModelFactory']
+__all__ = ['ModelBase', 'ModelFactory', 'f_add_rules']

+ 8 - 4
pipeline/pipeline.py

@@ -7,11 +7,9 @@
 import pandas as pd
 
 from entitys import DataSplitEntity, MlConfigEntity, DataFeatureEntity
-from feature import FeatureStrategyFactory
-from feature.feature_strategy_base import FeatureStrategyBase
+from feature import FeatureStrategyFactory, FeatureStrategyBase
 from init import init
-from model import ModelBase
-from model import ModelFactory
+from model import ModelBase, ModelFactory, f_add_rules
 from monitor import ReportWord
 
 init()
@@ -76,6 +74,12 @@ class Pipeline():
     def variable_analyse(self, column: str, format_bin=None):
         self._feature_strategy.variable_analyse(self._data, column, format_bin)
 
+    def rules_test(self, ):
+        rules = self._ml_config.rules
+        df = self._data.train_data.copy()
+        df["SCORE"] = [0] * len(df)
+        f_add_rules(df, rules)
+
 
 if __name__ == "__main__":
     pass