Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:1eval:tema03

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:iabd:pia:1eval:tema03 [2024/11/25 23:57]
admin [Mini-proyecto]
clase:iabd:pia:1eval:tema03 [2024/11/27 10:24] (actual)
admin [Mini-proyecto]
Línea 1622: Línea 1622:
   * Modifica la función de activación de la última capa para que sea la función de activación ''linear''.   * Modifica la función de activación de la última capa para que sea la función de activación ''linear''.
   * Añade un parámetros llamado ''epochs'' que sea el número de épocas a antrenar   * Añade un parámetros llamado ''epochs'' que sea el número de épocas a antrenar
-  * Crea una red neuronal y entrenala con la siguientes capas ''5,10,15,10,1''5000 épocas+  * Crea una red neuronal y entrenala con
 +    * Capas: 5,10,15,10,1 
 +    * Épocas: 5000
  
 <note tip> <note tip>
Línea 1721: Línea 1723:
      Red                                                                                     Entrenamiento      Red                                                                                     Entrenamiento
 --------  --------------------------------  --------  ------------  --------  -----------  --------------- --------  --------------------------------  --------  ------------  --------  -----------  ---------------
-        [5, 10, 30, 10, 1]                    5000  relu           699.618   0.754861            62.19 +        [5, 10, 30, 10, 1]                    5000  relu           699.522   0.754894            6.10154 
-        [5, 10, 30, 10, 1]                    5000  selu           565.859   0.801729            62.5378 +        [5, 10, 30, 10, 1]                    5000  selu           566.064   0.801657            6.25237 
-        [5, 10, 30, 10, 1]                    5000  tanh          5790.5    -1.02893             62.5708 +        [5, 10, 30, 10, 1]                    5000  tanh          5790.5    -1.02893             6.10966 
-        [20, 40, 80, 40, 20, 1]               5000  relu           479.729   0.831908            60.9812 +        [20, 40, 80, 40, 20, 1]               5000  relu           564.339   0.802261            6.27882 
-        [20, 40, 80, 40, 20, 1]               5000  selu           214.376   0.924885            59.9829 +        [20, 40, 80, 40, 20, 1]               5000  selu           195.545   0.931483            6.34035 
-        [20, 40, 80, 40, 20, 1]               5000  tanh          2869.38   -0.00540068          57.5197 +        [20, 40, 80, 40, 20, 1]               5000  tanh          2869.38   -0.00540068          6.36284 
-        [20, 40, 80, 160, 80, 40, 20, 1]      5000  relu           385.477   0.864933            59.9699 +        [20, 40, 80, 160, 80, 40, 20, 1]      5000  relu           530.207   0.814221            6.67132 
-        [20, 40, 80, 160, 80, 40, 20, 1]      5000  selu           149.003   0.947791            67.2952 +        [20, 40, 80, 160, 80, 40, 20, 1]      5000  selu           141.506   0.950418            6.8306 
-        [20, 40, 80, 160, 80, 40, 20, 1]      5000  tanh          2870.34   -0.00573854          64.2257 +        [20, 40, 80, 160, 80, 40, 20, 1]      5000  tanh          2870.34   -0.00573854          6.91749
 </sxh> </sxh>
  
Línea 1762: Línea 1763:
      Red                                                              Entrenamiento    Entrenamiento    Entrenamiento    Validación    Validación      Red                                                              Entrenamiento    Entrenamiento    Entrenamiento    Validación    Validación
 --------  --------------------------------  --------  ------------  ---------------  ---------------  ---------------  ------------  ------------ --------  --------------------------------  --------  ------------  ---------------  ---------------  ---------------  ------------  ------------
-        [5, 10, 30, 10, 1]                    5000  relu                  699.618       0.754861            62.5292       844.235     0.57673 +        [5, 10, 30, 10, 1]                    5000  relu                  699.522       0.754894            6.16381       945.903     0.525757 
-        [5, 10, 30, 10, 1]                    5000  selu                  565.859       0.801729            63.7465       841.22      0.578241 +        [5, 10, 30, 10, 1]                    5000  selu                  566.064       0.801657            6.07553       844.042     0.576827 
-        [5, 10, 30, 10, 1]                    5000  tanh                 5790.5        -1.02893             61.2735      3639.78     -0.82486 +        [5, 10, 30, 10, 1]                    5000  tanh                 5790.5        -1.02893             6.0547       3639.78     -0.82486 
-        [20, 40, 80, 40, 20, 1]               5000  relu                  479.729       0.831908            63.8758       998.912     0.49918 +        [20, 40, 80, 40, 20, 1]               5000  relu                  564.339       0.802261            6.17346      1008.44      0.494402 
-        [20, 40, 80, 40, 20, 1]               5000  selu                  214.376       0.924885            62.6622       766.595     0.615656 +        [20, 40, 80, 40, 20, 1]               5000  selu                  195.545       0.931483            6.49106       865.301     0.566168 
-        [20, 40, 80, 40, 20, 1]               5000  tanh                 2869.38       -0.00540068          61.9383      2088.69     -0.0471974 +        [20, 40, 80, 40, 20, 1]               5000  tanh                 2869.38       -0.00540068          6.28845      2088.69     -0.0471974 
-        [20, 40, 80, 160, 80, 40, 20, 1]      5000  relu                  385.477       0.864933            63.9857       860.281     0.568685 +        [20, 40, 80, 160, 80, 40, 20, 1]      5000  relu                  530.207       0.814221            6.70275       937.015     0.530213 
-        [20, 40, 80, 160, 80, 40, 20, 1]      5000  selu                  149.003       0.947791            62.8397      1069.86      0.463611 +        [20, 40, 80, 160, 80, 40, 20, 1]      5000  selu                  141.506       0.950418            6.77586       998.083     0.499596 
-        [20, 40, 80, 160, 80, 40, 20, 1]      5000  tanh                 2870.34       -0.00573854          62.5369      2086.36     -0.0460281+        [20, 40, 80, 160, 80, 40, 20, 1]      5000  tanh                 2870.34       -0.00573854          6.77296      2086.36     -0.0460281
  
 </sxh> </sxh>
Línea 1818: Línea 1819:
 </sxh> </sxh>
  
- +Las redes a probar son: 
-<sxh base> +<sxh python>
-#Paso 9 +
- +
-def compile_fit(capas,x,y,epochs,activation): +
-    np.random.seed(5) +
-    tf.random.set_seed(5) +
-    random.seed(5)   +
-     +
-    model=Sequential() +
-    for index,neuronas_capa in enumerate(capas): +
-        if (index==0): +
-            model.add(Dense(neuronas_capa, activation=activation,input_dim=x.shape[1])) +
-        elif (index==len(capas)-1): +
-            model.add(Dense(neuronas_capa, activation='linear')) +
-        else: +
-            model.add(Dense(neuronas_capa, activation=activation)) +
-    model.compile(loss='mean_squared_error'+
-     +
-    tiempo_entrenamiento = perf_counter() +
-    history=model.fit(x, y,epochs=epochs,verbose=False)  +
-    tiempo_entrenamiento=perf_counter()-tiempo_entrenamiento +
- +
-    return model,history,tiempo_entrenamiento +
 redes_neuronales=[ redes_neuronales=[
-    [[5,10,30,10,1],"relu"], +    [[20,1],"relu"], 
-    [[5,10,30,10,1],"selu"], +    [[20,1],"selu"], 
-    [[5,10,30,10,1],"tanh"],    +    [[20,1],"tanh"],        
 +    [[20,10,1],"relu"], 
 +    [[20,10,1],"selu"], 
 +    [[20,10,1],"tanh"],         
 +    [[20,30,10,1],"relu"], 
 +    [[20,30,10,1],"selu"], 
 +    [[20,30,10,1],"tanh"],  
     [[20,40,80,40,20,1],"relu"],     [[20,40,80,40,20,1],"relu"],
     [[20,40,80,40,20,1],"selu"],     [[20,40,80,40,20,1],"selu"],
Línea 1852: Línea 1836:
     [[20,40,80,160,80,40,20,1],"relu"],     [[20,40,80,160,80,40,20,1],"relu"],
     [[20,40,80,160,80,40,20,1],"selu"],     [[20,40,80,160,80,40,20,1],"selu"],
-    [[20,40,80,160,80,40,20,1],"tanh"                           +    [[20,40,80,160,80,40,20,1],"tanh"                               
-+  
-epochs=5000+</sxh>
  
-resultados=[] 
  
-for index,(capas,activacion) in enumerate(redes_neuronales): +<sxh base> 
- +  Nombre  Capas                               Épocas  Activación                MSE               R²           Tiempo           MSE            R² 
-    model,history,tiempo_entrenamiento=compile_fit(capas,x_entrenamiento,y_entrenamiento,epochs,activacion) +     Red                                                              Entrenamiento    Entrenamiento    Entrenamiento    Validación    Validación 
-    mse_entrenamiento,coeficiente_determinacion_entrenamiento=get_metricas_modelo(model,x_entrenamiento,y_entrenamiento) +--------  --------------------------------  --------  ------------  ---------------  ---------------  ---------------  ------------  ------------ 
- +        [201]                               1000  relu                 25.9839       0.700899             6.85148       26.1929     0.642826 
-    resultado=[str(index+1),str(capas),epochs,activacion,mse_entrenamiento,coeficiente_determinacion_entrenamiento,tiempo_entrenamiento+        [201]                               1000  selu                 15.7143       0.819112             6.9331        19.6104     0.732587 
-    resultados.append(resultado) +       3  [20, 1]                               1000  tanh                 52.4399       0.396364             7.04929       48.1765     0.343052 
- +       4  [20101]                           1000  relu                 13.5203       0.844368             7.39035       18.5331     0.747278 
-print(tabulate(resultados,headers=["Nombre\nRed","Capas","Épocas","Activación","MSE","R²","Tiempo\nEntrenamiento"]))+        [20101]                           1000  selu                 15.3826       0.822931             7.63935       20.3983     0.721844 
 +        [20101]                           1000  tanh                 27.3344       0.685353             7.49861       32.55       0.556139 
 +       7  [2030101]                       1000  relu                  9.52126      0.890401             7.80591       14.8094     0.798054 
 +       8  [20, 30, 10, 1]                       1000  selu                  9.10227      0.895224             7.62227       14.83       0.797774 
 +       9  [20, 30, 10, 1]                       1000  tanh                 26.3255       0.696967             7.60604       29.6008     0.596355 
 +      10  [20408040201]               1000  relu                  4.13976      0.952347             8.31231       22.1935     0.697363 
 +      11  [2040, 80, 40, 20, 1              1000  selu                  2.37718      0.972636             8.40947       17.5333     0.760911 
 +      12  [20, 40, 80, 40, 20, 1]               1000  tanh                 17.7842       0.795286             8.34862       27.3635     0.626864 
 +      13  [20, 40, 80, 160, 80, 40, 20, 1]      1000  relu                  3.40859      0.960764             9.40943       24.3886     0.66743 
 +      14  [2040, 80, 160, 80, 40, 20, 1]      1000  selu                  2.96527      0.965867             9.57778       21.5213     0.706529 
 +      15  [204080160804020, 1     1000  tanh                 86.8838      -0.000119567          9.52437       74.7763    -0.0196708
  
 </sxh> </sxh>
clase/iabd/pia/1eval/tema03.1732575470.txt.gz · Última modificación: 2024/11/25 23:57 por admin