Python 金融 Machine Learning
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'))
在 AMD(不含 dropout)的 R$^2$:
加入 dropout:

# 從 2 個神經網路模型產生預測 test_pred1 = model_1.predict(scaled_test_features) test_pred2 = model_2.predict(scaled_test_features)# 水平堆疊預測,並在列方向取平均 test_preds = np.mean(np.hstack((test_pred1, test_pred2)), axis=1)
模型 1 在測試集的 R$^2$:
模型 2:
集成(平均預測):
Python 金融 Machine Learning