Машинное обучение для финансов на Python
Nathan George
Data Science Professor


Методы борьбы с переобучением:

from keras.layers import Dense, Dropoutmodel = Sequential() model.add(Dense(500, input_dim=scaled_train_features.shape[1], activation='relu')) model.add(Dropout(0.5)) model.add(Dense(100, activation='relu')) model.add(Dense(1, activation='linear'))
Значения R$^2$ для AMD без dropout:
С dropout:

# make predictions from 2 neural net models test_pred1 = model_1.predict(scaled_test_features) test_pred2 = model_2.predict(scaled_test_features)# horizontally stack predictions and take the average across rows test_preds = np.mean(np.hstack((test_pred1, test_pred2)), axis=1)
Значение R$^2$ модели 1 на тестовой выборке:
Модель 2:
Ансамбль (усреднённые предсказания):
Машинное обучение для финансов на Python