DataProcess.py 705 B

1234567891011121314151617181920
  1. import numpy as np
  2. from KoopmanESNModel import KoopmanESNConfig
  3. def DataLoad(Path, config: KoopmanESNConfig):
  4. Data = np.loadtxt(Path, delimiter=',')
  5. train_start = config.train_start
  6. train_len = config.train_len
  7. warmup_len = config.predict_warmup
  8. predict_len = config.predict_len
  9. state_dim = config.state_dim
  10. Data = Data[train_start:train_start + train_len + predict_len, :state_dim].reshape(-1, state_dim)
  11. Max = np.max(Data, axis=0)
  12. Min = np.min(Data, axis=0)
  13. DataNor = 2*(Data-Min)/(Max-Min)-1
  14. DataTrain = DataNor[:train_len, :]
  15. DataWarm = DataTrain[-warmup_len:, :]
  16. DataVal = DataNor[train_len:, :]
  17. return DataNor, DataTrain, DataWarm, DataVal