En este tema, aprenderemos cómo evaluar la calidad de los modelos de Machine Learning creados con BigQuery ML (BQML) y cómo utilizar estos modelos para hacer predicciones. La evaluación de modelos es crucial para entender su rendimiento y hacer ajustes necesarios. La predicción, por otro lado, es el objetivo final de la mayoría de los modelos de Machine Learning.
- Evaluación de Modelos
1.1. Métricas de Evaluación
BigQuery ML proporciona varias métricas para evaluar la calidad de los modelos. Las métricas varían según el tipo de modelo (regresión, clasificación, etc.). Aquí hay algunas métricas comunes:
-
Regresión:
- RMSE (Root Mean Squared Error): Mide la diferencia entre los valores predichos y los valores reales.
- MAE (Mean Absolute Error): Promedio de las diferencias absolutas entre los valores predichos y los valores reales.
- R² (Coeficiente de Determinación): Indica qué tan bien los valores predichos explican la variabilidad de los valores reales.
-
Clasificación:
- Accuracy (Precisión): Proporción de predicciones correctas.
- Precision (Precisión): Proporción de verdaderos positivos entre los positivos predichos.
- Recall (Sensibilidad): Proporción de verdaderos positivos entre los positivos reales.
- F1 Score: Media armónica de la precisión y la sensibilidad.
1.2. Evaluación de un Modelo de Regresión
Para evaluar un modelo de regresión, utilizamos la función ML.EVALUATE
. Aquí hay un ejemplo práctico:
-- Evaluar un modelo de regresión SELECT * FROM ML.EVALUATE(MODEL `my_dataset.my_regression_model`, ( SELECT feature1, feature2, target FROM `my_dataset.my_table` ));
1.3. Evaluación de un Modelo de Clasificación
Para evaluar un modelo de clasificación, también utilizamos la función ML.EVALUATE
. Aquí hay un ejemplo:
-- Evaluar un modelo de clasificación SELECT * FROM ML.EVALUATE(MODEL `my_dataset.my_classification_model`, ( SELECT feature1, feature2, label FROM `my_dataset.my_table` ));
- Predicción con Modelos
2.1. Predicción con un Modelo de Regresión
Para hacer predicciones con un modelo de regresión, utilizamos la función ML.PREDICT
. Aquí hay un ejemplo:
-- Hacer predicciones con un modelo de regresión SELECT * FROM ML.PREDICT(MODEL `my_dataset.my_regression_model`, ( SELECT feature1, feature2 FROM `my_dataset.new_data` ));
2.2. Predicción con un Modelo de Clasificación
Para hacer predicciones con un modelo de clasificación, también utilizamos la función ML.PREDICT
. Aquí hay un ejemplo:
-- Hacer predicciones con un modelo de clasificación SELECT * FROM ML.PREDICT(MODEL `my_dataset.my_classification_model`, ( SELECT feature1, feature2 FROM `my_dataset.new_data` ));
- Ejercicios Prácticos
Ejercicio 1: Evaluar un Modelo de Regresión
- Crea un modelo de regresión utilizando un conjunto de datos de tu elección.
- Evalúa el modelo utilizando la función
ML.EVALUATE
. - Interpreta las métricas de evaluación obtenidas.
Ejercicio 2: Hacer Predicciones con un Modelo de Clasificación
- Crea un modelo de clasificación utilizando un conjunto de datos de tu elección.
- Utiliza la función
ML.PREDICT
para hacer predicciones con un nuevo conjunto de datos. - Analiza las predicciones obtenidas.
Soluciones
Solución al Ejercicio 1
-- Crear un modelo de regresión CREATE OR REPLACE MODEL `my_dataset.my_regression_model` OPTIONS(model_type='linear_reg') AS SELECT feature1, feature2, target FROM `my_dataset.my_table`; -- Evaluar el modelo de regresión SELECT * FROM ML.EVALUATE(MODEL `my_dataset.my_regression_model`, ( SELECT feature1, feature2, target FROM `my_dataset.my_table` ));
Solución al Ejercicio 2
-- Crear un modelo de clasificación CREATE OR REPLACE MODEL `my_dataset.my_classification_model` OPTIONS(model_type='logistic_reg') AS SELECT feature1, feature2, label FROM `my_dataset.my_table`; -- Hacer predicciones con el modelo de clasificación SELECT * FROM ML.PREDICT(MODEL `my_dataset.my_classification_model`, ( SELECT feature1, feature2 FROM `my_dataset.new_data` ));
Conclusión
En esta sección, hemos aprendido cómo evaluar la calidad de los modelos de Machine Learning en BigQuery ML utilizando diversas métricas de evaluación. También hemos visto cómo hacer predicciones con estos modelos. La evaluación y predicción son pasos cruciales en el ciclo de vida de un modelo de Machine Learning, y dominar estas técnicas te permitirá construir modelos más precisos y útiles. En el próximo tema, exploraremos características avanzadas de BQML para llevar tus habilidades al siguiente nivel.
Curso de BigQuery
Módulo 1: Introducción a BigQuery
- ¿Qué es BigQuery?
- Configuración de tu Entorno de BigQuery
- Entendiendo la Arquitectura de BigQuery
- Visión General de la Consola de BigQuery
Módulo 2: SQL Básico en BigQuery
Módulo 3: SQL Intermedio en BigQuery
Módulo 4: SQL Avanzado en BigQuery
- Joins Avanzados
- Campos Anidados y Repetidos
- Funciones Definidas por el Usuario (UDFs)
- Particionamiento y Agrupamiento
Módulo 5: Gestión de Datos en BigQuery
- Cargando Datos en BigQuery
- Exportando Datos desde BigQuery
- Transformación y Limpieza de Datos
- Gestión de Conjuntos de Datos y Tablas
Módulo 6: Optimización del Rendimiento de BigQuery
- Técnicas de Optimización de Consultas
- Entendiendo los Planes de Ejecución de Consultas
- Uso de Vistas Materializadas
- Optimización del Almacenamiento
Módulo 7: Seguridad y Cumplimiento en BigQuery
- Control de Acceso y Permisos
- Encriptación de Datos
- Auditoría y Monitoreo
- Cumplimiento y Mejores Prácticas
Módulo 8: Integración y Automatización de BigQuery
- Integración con Servicios de Google Cloud
- Uso de BigQuery con Dataflow
- Automatización de Flujos de Trabajo con Cloud Functions
- Programación de Consultas con Cloud Scheduler
Módulo 9: Machine Learning en BigQuery (BQML)
- Introducción a BigQuery ML
- Creación y Entrenamiento de Modelos
- Evaluación y Predicción con Modelos
- Características Avanzadas de BQML