En este tema, aprenderás cómo crear y entrenar modelos de Machine Learning (ML) utilizando BigQuery ML (BQML). BigQuery ML permite a los usuarios crear y ejecutar modelos de ML directamente en BigQuery utilizando SQL, lo que facilita la integración del análisis de datos y el aprendizaje automático.

Objetivos de Aprendizaje

  • Comprender los conceptos básicos de la creación de modelos en BQML.
  • Aprender a crear y entrenar modelos de ML utilizando SQL.
  • Conocer los diferentes tipos de modelos que se pueden crear en BQML.
  • Realizar ejercicios prácticos para reforzar los conceptos aprendidos.

Conceptos Clave

  1. Tipos de Modelos en BQML

BigQuery ML soporta varios tipos de modelos de ML, incluyendo:

  • Modelos de Regresión Lineal: Para predecir valores numéricos.
  • Modelos de Clasificación Binaria: Para predecir una de dos clases.
  • Modelos de Clasificación Multiclase: Para predecir una de varias clases.
  • Modelos de Clustering: Para agrupar datos en clusters.
  • Modelos de Series Temporales: Para predecir valores futuros basados en datos históricos.

  1. Sintaxis Básica para Crear un Modelo

La creación de un modelo en BQML se realiza mediante la instrucción CREATE MODEL. La sintaxis básica es la siguiente:

CREATE OR REPLACE MODEL `project.dataset.model_name`
OPTIONS(model_type='model_type', input_label_cols=['label_column'])
AS
SELECT * FROM `project.dataset.table_name`;
  • model_type: Especifica el tipo de modelo (e.g., 'linear_reg', 'logistic_reg', 'kmeans', etc.).
  • input_label_cols: Especifica la columna que contiene las etiquetas (solo para modelos supervisados).
  • SELECT * FROM table_name: Especifica los datos de entrenamiento.

  1. Ejemplo Práctico: Creación de un Modelo de Regresión Lineal

Vamos a crear un modelo de regresión lineal para predecir el precio de las casas basado en características como el tamaño y la ubicación.

Paso 1: Preparar los Datos

Primero, asegúrate de tener un conjunto de datos adecuado. Aquí hay un ejemplo de cómo podría verse tu tabla de datos:

house_id size_sqft location price
1 1500 A 300000
2 2000 B 400000
3 1800 A 350000
... ... ... ...

Paso 2: Crear el Modelo

Utiliza la siguiente consulta SQL para crear y entrenar el modelo:

CREATE OR REPLACE MODEL `my_project.my_dataset.house_price_model`
OPTIONS(model_type='linear_reg', input_label_cols=['price'])
AS
SELECT size_sqft, location, price
FROM `my_project.my_dataset.house_data`;

Paso 3: Evaluar el Modelo

Después de crear el modelo, puedes evaluarlo para ver su rendimiento:

SELECT
  *
FROM
  ML.EVALUATE(MODEL `my_project.my_dataset.house_price_model`);

  1. Ejemplo Práctico: Creación de un Modelo de Clasificación Binaria

Vamos a crear un modelo de clasificación binaria para predecir si un cliente comprará un producto basado en características como la edad y el ingreso.

Paso 1: Preparar los Datos

Asegúrate de tener un conjunto de datos adecuado. Aquí hay un ejemplo de cómo podría verse tu tabla de datos:

customer_id age income will_buy
1 25 50000 1
2 40 80000 0
3 30 60000 1
... ... ... ...

Paso 2: Crear el Modelo

Utiliza la siguiente consulta SQL para crear y entrenar el modelo:

CREATE OR REPLACE MODEL `my_project.my_dataset.purchase_model`
OPTIONS(model_type='logistic_reg', input_label_cols=['will_buy'])
AS
SELECT age, income, will_buy
FROM `my_project.my_dataset.customer_data`;

Paso 3: Evaluar el Modelo

Después de crear el modelo, puedes evaluarlo para ver su rendimiento:

SELECT
  *
FROM
  ML.EVALUATE(MODEL `my_project.my_dataset.purchase_model`);

Ejercicios Prácticos

Ejercicio 1: Crear un Modelo de Regresión Lineal

  1. Utiliza un conjunto de datos de tu elección que contenga características numéricas y una columna de etiqueta.
  2. Crea un modelo de regresión lineal para predecir la etiqueta.
  3. Evalúa el modelo y analiza los resultados.

Ejercicio 2: Crear un Modelo de Clasificación Binaria

  1. Utiliza un conjunto de datos de tu elección que contenga características numéricas y una columna de etiqueta binaria.
  2. Crea un modelo de clasificación binaria para predecir la etiqueta.
  3. Evalúa el modelo y analiza los resultados.

Soluciones a los Ejercicios

Solución al Ejercicio 1

CREATE OR REPLACE MODEL `my_project.my_dataset.my_linear_model`
OPTIONS(model_type='linear_reg', input_label_cols=['label_column'])
AS
SELECT feature1, feature2, label_column
FROM `my_project.my_dataset.my_data`;

SELECT
  *
FROM
  ML.EVALUATE(MODEL `my_project.my_dataset.my_linear_model`);

Solución al Ejercicio 2

CREATE OR REPLACE MODEL `my_project.my_dataset.my_logistic_model`
OPTIONS(model_type='logistic_reg', input_label_cols=['label_column'])
AS
SELECT feature1, feature2, label_column
FROM `my_project.my_dataset.my_data`;

SELECT
  *
FROM
  ML.EVALUATE(MODEL `my_project.my_dataset.my_logistic_model`);

Conclusión

En esta sección, has aprendido cómo crear y entrenar modelos de Machine Learning utilizando BigQuery ML. Has visto ejemplos prácticos de cómo crear modelos de regresión lineal y clasificación binaria, y has tenido la oportunidad de practicar estos conceptos con ejercicios. En la siguiente sección, exploraremos cómo evaluar y predecir con los modelos creados.

Curso de BigQuery

Módulo 1: Introducción a BigQuery

Módulo 2: SQL Básico en BigQuery

Módulo 3: SQL Intermedio en BigQuery

Módulo 4: SQL Avanzado en BigQuery

Módulo 5: Gestión de Datos en BigQuery

Módulo 6: Optimización del Rendimiento de BigQuery

Módulo 7: Seguridad y Cumplimiento en BigQuery

Módulo 8: Integración y Automatización de BigQuery

Módulo 9: Machine Learning en BigQuery (BQML)

Módulo 10: Casos de Uso de BigQuery en el Mundo Real

© Copyright 2024. Todos los derechos reservados