data_feaure_entity.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. """
  27. 数据特征准备完毕
  28. """
  29. def __init__(self, data: pd.DataFrame, x_columns: list, y_column: str):
  30. self._data = data
  31. self._x_columns = x_columns
  32. self._y_column = y_column
  33. @property
  34. def data(self):
  35. return self._data
  36. @property
  37. def x_columns(self):
  38. return self._x_columns
  39. @property
  40. def y_column(self):
  41. return self._y_column
  42. def get_Xdata(self):
  43. return self._data[self._x_columns]
  44. def get_Ydata(self):
  45. return self._data[self._y_column]
  46. class DataPreparedEntity():
  47. """
  48. 训练集测试集特征准备完毕
  49. """
  50. def __init__(self, train_data: DataFeatureEntity, val_data: DataFeatureEntity, test_data: DataFeatureEntity):
  51. self._train_data = train_data
  52. self._val_data = val_data
  53. self._test_data = test_data
  54. @property
  55. def train_data(self):
  56. return self._train_data
  57. @property
  58. def val_data(self):
  59. return self._val_data
  60. @property
  61. def test_data(self):
  62. return self._test_data
  63. class DataSplitEntity():
  64. """
  65. 初始数据训练集测试集划分
  66. """
  67. def __init__(self, train_data: pd.DataFrame, val_data: pd.DataFrame, test_data: pd.DataFrame):
  68. self._train_data = train_data
  69. self._val_data = val_data
  70. self._test_data = test_data
  71. @property
  72. def train_data(self):
  73. return self._train_data
  74. @property
  75. def val_data(self):
  76. return self._val_data
  77. @property
  78. def test_data(self):
  79. return self._test_data
  80. if __name__ == "__main__":
  81. pass