Si promediamos los dos valores de RMSE del último paso, obtenemos un valor de RMSE de aproximadamente 128,96, la validación holdout es en realidad un ejemplo específico de una clase más amplia de técnicas de validación llamada validación cruzada k-fold (K-fold cross-validation), mientras que la validación holdout es mejor que la validación de entrenamiento/prueba porque el modelo no está sesgado repetidamente hacia un subconjunto específico de los datos, ambos modelos que se entrenan sólo utilizan la mitad de los datos disponibles; la validación cruzada K-fold, por otro lado, aprovecha una mayor proporción de los datos durante el entrenamiento mientras sigue rotando a través de diferentes subconjuntos de los datos para evitar los problemas de la validación entrenamiento/prueba.
Este es el algoritmo de la validación cruzada k-fold:
La validación cruzada es esencialmente una versión de la validación cruzada de k pliegues cuando k es igual a 2, generalmente, se utilizan 5 o 10 pliegues para la validación cruzada de k pliegues, este es un diagrama que describe cada iteración de la validación cruzada de 5 pliegues:

A medida que aumenta el número de pliegues, el número de observaciones en cada pliegue disminuye y la varianza de los errores por pliegue aumenta, empecemos por dividir manualmente el conjunto de datos en 5 pliegues, en lugar de dividir en 5 marcos de
datos, añadamos una columna que especifique a qué pliegue pertenece la fila, de este modo, podemos seleccionar fácilmente nuestro conjunto de entrenamiento y nuestro conjunto de prueba.
|
|
dc_listings.loc[dc_listings.index[0:745], "fold"] = 1 dc_listings.loc[dc_listings.index[745:1490], "fold =2 dc_listings.loc[dc_listings.index[1490:2234], "fold"] = 3 dc_listings.loc[dc_listings.index[2234:2978], "fold"] = 4 dc_listings.loc[dc_listings.index[2978:3723], "fold"] = 5 print(dc_listings['fold'].value_counts()) print("\n Num of missing values: ", dc_listings['fold'].isnulL().sum()) |
Hasta ahora, hemos trabajado bajo el supuesto de que un RMSE más bajo siempre significa que un modelo es más preciso, por desgracia, esto no es del todo cierto, un modelo tiene dos fuentes de error, el sesgo y la varianza.
El sesgo describe el error que resulta de las malas suposiciones sobre el algoritmo de aprendizaje. Por ejemplo, suponer que sólo una característica, como el peso de un coche, está relacionada con la eficiencia del combustible de un coche le llevará a
ajustar un modelo de regresión simple y univariante que dará lugar a un alto sesgo, la tasa de error será alta, ya que la eficiencia de combustible de un coche se ve afectada por muchos otros factores además de su peso.
La varianza describe el error que se produce debido a la variabilidad de los valores predichos de un modelo, si nos dieran un conjunto de datos con 1.000 características de cada coche y utilizáramos cada una de ellas para entrenar un modelo de regresión multivariante increíblemente complicado, tendríamos un sesgo bajo pero una varianza alta, en un mundo ideal, queremos un sesgo bajo y una varianza baja, pero en la realidad, siempre hay una compensación.
La desviación estándar de los valores de RMSE puede ser un indicador de la varianza de un modelo, mientras que el RMSE medio es un indicador del sesgo de un modelo, el sesgo y la varianza son las dos fuentes de error observables en un modelo que podemos
controlar indirectamente.