def create_training_test_sets(self):
""" Split data set into training and test folds. """
# load input data
input_data = np.asarray(np.loadtxt('input/data.txt'), dtype=np.float32)
self.input_dim = input_data.shape[1] - 1
self.output_dim = 1
# align to batch size
batches = input_data.shape[0] // (self.batch_size * self.n_splits)
input_data = input_data[:batches * (self.batch_size * self.n_splits)]
self.data_size = input_data.shape[0]
print(f'Loaded input data, shape = {input_data.shape}')
# create splits
kfold = KFold(n_splits=self.n_splits, shuffle=True, random_state=self.seed)
print(f'Splits: {self.n_splits}')
# assume y is in the last column by default
for idx_train, idx_test in kfold.split(input_data):
self.train_x.append(input_data[idx_train, :-1])
self.train_y.append(input_data[idx_train, -1:])
self.test_x.append(input_data[idx_test, :-1])
self.test_y.append(input_data[idx_test, -1:])
# layers described as [number of neurons, dropout probability]
if self.layers_description is None:
self.layers_description = [[self.input_dim, 0.0], [100, 0.0], [100, 0.0], [self.output_dim, 0.0]]
评论列表
文章目录