Informer源代码学习记录之“数据集处理handle”

一、源码代码核心

  exp_informer.py:

     # 获取数据集处理类,  选取的数据集 为'weather',数据集处理类Dataset_Custom

    Data = data_dict[self.args.data]    

    # DataLoader数据加载器,对数据进行 batch 的划分。结合了数据集和取样器,并且可以提供多个线程处理数据集

    data_loader = DataLoader(...)

  data_loader.py: 

    class Dataset_Custom(Dataset):
      # 数据集处理核心操作——读取数据集
      def __read_data__(self): 
        # 初步创建了一个数据标准化StandardScaler()对象
        self.scaler = StandardScaler()
        # 数据切分, 可以使用sklearn train_test_split 2023_1_5
        num_train = int(len(df_raw)*0.7)
        num_test = int(len(df_raw)*0.2)
        num_vali = len(df_raw) - num_train - num_test
        border1s = [0, num_train-self.seq_len, len(df_raw)-num_test-self.seq_len]
        border2s = [num_train, num_train+num_vali, len(df_raw)]
        border1 = border1s[self.set_type]
        border2 = border2s[self.set_type]  
        self.scaler.fit(train_data.values)             # 对数据集进行数据标准化具体操作
        data = self.scaler.transform(df_data.values)

        # 获取时间特征项(offsets.Hour: [HourOfDay, DayOfWeek, DayOfMonth, DayOfYear])
        data_stamp = time_features(df_stamp, timeenc=self.timeenc, freq=self.freq)
posted @ 2023-01-24 21:09  才品  阅读(685)  评论(0)    收藏  举报