Crea y ajusta una red neuronal simple
El siguiente modelo que aprenderemos a usar es una red neuronal. Las redes neuronales pueden capturar interacciones complejas entre variables, pero son difíciles de configurar y entender. En los últimos años han superado a expertos humanos en muchos ámbitos, como el reconocimiento de imágenes y los juegos (echa un vistazo a AlphaGo), así que tienen un gran potencial para rendir bien.
Para construir nuestras redes usaremos la biblioteca keras. Es una API de alto nivel que nos permite crear redes neuronales rápidamente y, aun así, tener mucho control sobre el diseño. Lo primero que haremos es crear casi la red más simple posible: una red de 3 capas que toma nuestras entradas y predice un único valor. Al igual que los modelos de sklearn, los modelos de keras tienen un método .fit() que recibe como argumentos (features, targets).
Este ejercicio forma parte del curso
Machine Learning para finanzas con Python
Instrucciones del ejercicio
- Crea una capa densa con 20 nodos y la activación ReLU (
'relu') como la 2ª capa de la red neuronal. - Crea la última capa densa con 1 nodo y una activación lineal (
activation='linear'). - Ajusta el modelo con
scaled_train_featuresytrain_targets.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
from keras.models import Sequential
from keras.layers import Dense
# Create the model
model_1 = Sequential()
model_1.add(Dense(100, input_dim=scaled_train_features.shape[1], activation='relu'))
model_1.add(Dense(____, activation=____))
model_1.add(Dense(____, activation=____))
# Fit the model
model_1.compile(optimizer='adam', loss='mse')
history = model_1.fit(____, ____, epochs=25)