metric_test.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # -*- coding: utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2024/11/1
  5. @desc:
  6. """
  7. import pandas as pd
  8. from data import DataLoaderBase, DataLoaderHive
  9. from entitys import DbConfigEntity, MetricFucResultEntity
  10. from metrics import MetricBase
  11. class A(MetricBase):
  12. def __init__(self, file_path: str, sheet_name: str = 0, *args, **kwargs):
  13. super().__init__(*args, **kwargs)
  14. self._file_path = file_path
  15. self._sheet_name = sheet_name
  16. def _load_data(self, data_loader: DataLoaderBase, *args, **kwargs) -> pd.DataFrame:
  17. data = data_loader.get_data(self._file_path, self._sheet_name)
  18. return data
  19. def calculate(self, *args, **kwargs) -> MetricFucResultEntity:
  20. data = self._load_data()
  21. return MetricFucResultEntity(table=data, value='1', image_path='cache/image/t1.png')
  22. if __name__ == "__main__":
  23. # f_register_metric_func(A)
  24. data_loader = DataLoaderHive(DbConfigEntity.from_config("./config/hive_config.json"))
  25. df = data_loader.get_data("select * from pokes")
  26. print(df.head())
  27. # data_loader = DataLoaderMysql(DbConfigEntity.from_config("./config/mysql_config.json"))
  28. # monitor_metric = MonitorMetric("./config/model_feature_strategy_template.json")
  29. # monitor_metric.calculate_metric(data_loader=data_loader)
  30. # monitor_metric.report()