data_feaure_entity.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. # -*- coding: utf-8 -*-
  2. """
  3. @author: yq
  4. @time: 2024/11/1
  5. @desc:
  6. """
  7. import pandas as pd
  8. class CandidateFeatureEntity():
  9. """
  10. 经过特征筛选后的特征信息
  11. """
  12. def __init__(self, x_column: str, breaks_list: list = None, iv_max: float = None):
  13. self._x_column = x_column
  14. self._breaks_list = breaks_list
  15. self._iv_max = iv_max
  16. @property
  17. def x_column(self):
  18. return self._x_column
  19. @property
  20. def breaks_list(self):
  21. return self._breaks_list
  22. @property
  23. def iv_max(self):
  24. return self._iv_max
  25. class DataFeatureEntity():
  26. def __init__(self, data: pd.DataFrame, x_columns: list, y_column: str):
  27. self._data = data
  28. self._x_columns = x_columns
  29. self._y_column = y_column
  30. @property
  31. def data(self):
  32. return self._data
  33. @property
  34. def x_columns(self):
  35. return self._x_columns
  36. @property
  37. def y_column(self):
  38. return self._y_column
  39. def get_Xdata(self):
  40. return self._data[self._x_columns]
  41. def get_Ydata(self):
  42. return self._data[self._y_column]
  43. class DataPreparedEntity():
  44. def __init__(self, train_data: DataFeatureEntity, val_data: DataFeatureEntity, test_data: DataFeatureEntity):
  45. self._train_data = train_data
  46. self._val_data = val_data
  47. self._test_data = test_data
  48. @property
  49. def train_data(self):
  50. return self._train_data
  51. @property
  52. def val_data(self):
  53. return self._val_data
  54. @property
  55. def test_data(self):
  56. return self._test_data
  57. class DataSplitEntity():
  58. def __init__(self, train_data: pd.DataFrame, val_data: pd.DataFrame, test_data: pd.DataFrame):
  59. self._train_data = train_data
  60. self._val_data = val_data
  61. self._test_data = test_data
  62. @property
  63. def train_data(self):
  64. return self._train_data
  65. @property
  66. def val_data(self):
  67. return self._val_data
  68. @property
  69. def test_data(self):
  70. return self._test_data
  71. if __name__ == "__main__":
  72. pass