12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- # -*- coding: utf-8 -*-
- """
- @author: yq
- @time: 2024/11/1
- @desc: 数据处理配置类
- """
- import json
- import os
- from commom import GeneralException
- from enums import ResultCodesEnum
- from sklearn.model_selection import train_test_split
- class DataProcessConfigEntity():
- def __init__(self, y_column: str, fill_method: str, split_method: str):
- # 定义y变量
- self._y_column = y_column
- # 缺失值填充方法
- self._fill_method = fill_method
- # 数据划分方法
- self._split_method = split_method
- @property
- def y_column(self):
- return self._y_column
- @property
- def fill_method(self):
- return self._fill_method
- @property
- def split_method(self):
- return self._split_method
- @staticmethod
- def from_config(config_path: str):
- """
- 从配置文件生成实体类
- """
- if os.path.exists(config_path):
- with open(config_path, mode="r", encoding="utf-8") as f:
- j = json.loads(f.read())
- else:
- raise GeneralException(ResultCodesEnum.NOT_FOUND, message=f"指配置文件【{config_path}】不存在")
- return DataProcessConfigEntity(**j)
- if __name__ == "__main__":
- pass
|