Улучшение нейросети

У меня есть датасет который состоит из 11 колонок и 8640 строк. Я построил нейросеть который состоит из 3 inputs С двумя hidden layers и 1 output. Вообще по идее 8 output но нужно для каждого output отдельный модель. И для этого я использовал функцию. Test set 33% Traning set 67%.

for i in range(0, 8):
    inputs= Inputs_arr
    outputs= Outputs_arr[:, i].reshape(-1, 1)
    
    from sklearn.preprocessing import StandardScaler
    sc = StandardScaler()
    inputs=sc.fit_transform(inputs)
    outputs=sc.fit_transform(outputs)
    
    condition = np.isin(Inputs_arr[:,1], (8, 2))
    inputs_train, inputs_test = inputs[~condition], inputs[condition]
    outputs_train, outputs_test = outputs[~condition], outputs[condition]
    
    
    from tensorflow.keras import layers
    model = Sequential([
      layers.Dense(units = 10, activation = 'relu', input_dim = 3),
      layers.Dense(units = 10, activation = 'relu'),
      layers.Dense(1, kernel_regularizer=l2(0.001), bias_regularizer=l2(0.09))
    ])
    
    opt = tensorflow.keras.optimizers.Adam(learning_rate=0.001)
    model.compile(optimizer =opt, loss='mse')
    history = model.fit(inputs_train, outputs_train, validation_data=(inputs_test, outputs_test), epochs=100, batch_size=65)

теперь данный момент R^2 равен 0.87, Training Mean Squared Error 0.0749 Test Mean Squared Error 0.1236. Как можно улучить модель?


Ответы (0 шт):