La clase MLPClassifier de Scikit-Learn

Creemos ahora una red neuronal usando la clase MLPClassifier de Scikit-Learn con los parámetros por defecto. Los más importantes de estos parámetros son:

  • Una capa oculta con 100 neuronas
  • Función de activación "ReLu"
  • Optimizador "Adam" (optimizador estocástico)
  • Tasa de aprendizaje de 0.001
  • Batch size igual a 200 (salvo que haya menos muestras, en cuyo caso el batch será igual al número de ellas)
  • 200 epochs

Comenzamos cargando la clase MLPClassifier:

from sklearn.neural_network import MLPClassifier

Ahora instanciamos el algoritmo y lo validamos vía validación cruzada:

model = MLPClassifier()

%%time
cross_val_score(model, X, y, cv = 5).mean()

Wall time: 10min 56s
0.9608666666666666

Comprobamos que el resultado (la exactitud) es de un orden de magnitud semejante al que conseguimos usando K-vecinos, y con tiempos de entrenamiento mucho menores (recordemos que en ninguno de los dos casos se ha optimizado el modelo).