En aquest tema, aprendrem com crear i entrenar models d'aprenentatge automàtic (ML) utilitzant BigQuery ML (BQML). BigQuery ML permet als analistes de dades i científics de dades crear i entrenar models ML directament dins de BigQuery utilitzant SQL. Això elimina la necessitat de moure dades a altres plataformes per a l'entrenament de models, simplificant el procés i millorant l'eficiència.
Objectius del tema
- Comprendre els conceptes bàsics de BigQuery ML.
- Aprendre a crear models ML utilitzant SQL.
- Entrenar models ML amb dades de BigQuery.
- Avaluar el rendiment dels models entrenats.
Conceptes clau
- Tipus de models suportats per BQML
BigQuery ML suporta diversos tipus de models ML, incloent:
- Regressió lineal: Per a predir valors continus.
- Classificació logística: Per a predir categories binàries.
- Clustering K-means: Per a agrupar dades en clústers.
- Models de xarxes neuronals: Per a tasques més complexes com la classificació d'imatges o el processament de llenguatge natural.
- Sintaxi SQL per a crear models
La sintaxi bàsica per a crear un model en BQML és la següent:
CREATE OR REPLACE MODEL `project_id.dataset.model_name` OPTIONS(model_type='model_type', input_label_cols=['label_column']) AS SELECT feature1, feature2, ..., label_column FROM `project_id.dataset.table_name`;
model_type
: El tipus de model que es vol crear (e.g., 'linear_reg', 'logistic_reg').input_label_cols
: La columna que conté les etiquetes o valors a predir.SELECT ... FROM ...
: La consulta SQL que selecciona les característiques (features) i les etiquetes de les dades.
Exemple pràctic: Creació d'un model de regressió lineal
Pas 1: Preparar les dades
Suposem que tenim una taula sales_data
amb les següents columnes:
date
: La data de la venda.store_id
: L'identificador de la botiga.product_id
: L'identificador del producte.units_sold
: El nombre d'unitats venudes.price
: El preu del producte.
Pas 2: Crear el model
Volem crear un model de regressió lineal per predir el nombre d'unitats venudes (units_sold
) basant-nos en el preu del producte (price
).
CREATE OR REPLACE MODEL `my_project.my_dataset.sales_forecast_model` OPTIONS(model_type='linear_reg', input_label_cols=['units_sold']) AS SELECT price, units_sold FROM `my_project.my_dataset.sales_data`;
Pas 3: Entrenar el model
El model es crea i s'entrena automàticament quan s'executa la consulta SQL anterior. BigQuery ML divideix les dades en conjunts d'entrenament i validació per entrenar i avaluar el model.
Pas 4: Avaluar el model
Després d'entrenar el model, podem avaluar el seu rendiment utilitzant la funció ML.EVALUATE
.
Pas 5: Fer prediccions
Un cop el model està entrenat i avaluat, podem utilitzar-lo per fer prediccions sobre noves dades.
SELECT price, predicted_units_sold FROM ML.PREDICT(MODEL `my_project.my_dataset.sales_forecast_model`, ( SELECT price FROM `my_project.my_dataset.new_sales_data` ));
Exercici pràctic
Exercici 1: Crear i entrenar un model de classificació logística
-
Utilitza la taula
customer_data
amb les següents columnes:customer_id
: L'identificador del client.age
: L'edat del client.income
: Els ingressos del client.purchased
: Una columna binària que indica si el client ha comprat un producte (1) o no (0).
-
Crea un model de classificació logística per predir si un client comprarà un producte (
purchased
) basant-se en l'edat (age
) i els ingressos (income
).
CREATE OR REPLACE MODEL `my_project.my_dataset.customer_purchase_model` OPTIONS(model_type='logistic_reg', input_label_cols=['purchased']) AS SELECT age, income, purchased FROM `my_project.my_dataset.customer_data`;
Solució
- Executa la consulta SQL anterior per crear i entrenar el model.
- Avaluar el model utilitzant
ML.EVALUATE
. - Fer prediccions utilitzant
ML.PREDICT
amb noves dades de clients.
Resum
En aquest tema, hem après a crear i entrenar models d'aprenentatge automàtic utilitzant BigQuery ML. Hem vist com utilitzar SQL per definir i entrenar models de regressió lineal i classificació logística, així com avaluar el rendiment dels models i fer prediccions. Aquestes habilitats són fonamentals per aprofitar el poder de BigQuery ML en l'anàlisi de dades i la presa de decisions basada en dades.
Curs de BigQuery
Mòdul 1: Introducció a BigQuery
- Què és BigQuery?
- Configurar el teu entorn de BigQuery
- Comprendre l'arquitectura de BigQuery
- Visió general de la consola de BigQuery
Mòdul 2: SQL bàsic a BigQuery
Mòdul 3: SQL intermedi a BigQuery
Mòdul 4: SQL avançat a BigQuery
- Unions avançades
- Camps niats i repetits
- Funcions definides per l'usuari (UDFs)
- Particionament i agrupament
Mòdul 5: Gestió de dades a BigQuery
- Carregar dades a BigQuery
- Exportar dades de BigQuery
- Transformació i neteja de dades
- Gestió de conjunts de dades i taules
Mòdul 6: Optimització del rendiment de BigQuery
- Tècniques d'optimització de consultes
- Comprendre els plans d'execució de consultes
- Ús de vistes materialitzades
- Optimització de l'emmagatzematge
Mòdul 7: Seguretat i compliment de BigQuery
Mòdul 8: Integració i automatització de BigQuery
- Integració amb serveis de Google Cloud
- Ús de BigQuery amb Dataflow
- Automatització de fluxos de treball amb Cloud Functions
- Programació de consultes amb Cloud Scheduler
Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)
- Introducció a BigQuery ML
- Creació i entrenament de models
- Avaluació i predicció amb models
- Funcions avançades de BQML