BigQuery ML (BQML) és una funcionalitat de Google BigQuery que permet als usuaris crear i executar models d'aprenentatge automàtic directament dins de BigQuery utilitzant SQL. Aquesta capacitat facilita l'accés a l'aprenentatge automàtic per a analistes de dades i altres professionals que ja estan familiaritzats amb SQL, sense la necessitat de coneixements avançats en programació o estadística.
Objectius d'aquest tema
- Comprendre què és BigQuery ML i els seus avantatges.
- Aprendre a crear models d'aprenentatge automàtic utilitzant SQL.
- Familiaritzar-se amb els tipus de models que es poden crear amb BQML.
- Veure exemples pràctics de com utilitzar BQML.
Què és BigQuery ML?
BigQuery ML permet als usuaris:
- Crear models d'aprenentatge automàtic utilitzant instruccions SQL senzilles.
- Entrenar models directament sobre les dades emmagatzemades a BigQuery, eliminant la necessitat de moure dades a altres plataformes.
- Avaluar i fer prediccions amb els models creats, tot dins de l'entorn de BigQuery.
Avantatges de BigQuery ML
- Integració amb BigQuery: No cal moure dades fora de BigQuery per entrenar models.
- Facilitat d'ús: Utilitza SQL, un llenguatge familiar per a molts analistes de dades.
- Escalabilitat: Pot treballar amb conjunts de dades molt grans gràcies a la infraestructura de BigQuery.
- Rapidesa: Redueix el temps necessari per crear i desplegar models d'aprenentatge automàtic.
Tipus de models a BigQuery ML
BigQuery ML suporta diversos tipus de models, incloent:
- Regressió lineal: Per predir valors numèrics.
- Classificació logística: Per predir categories.
- Clustering: Per agrupar dades similars.
- Sèries temporals: Per predir valors futurs basats en dades històriques.
Crear un model de regressió lineal
A continuació, es mostra un exemple de com crear un model de regressió lineal per predir el preu d'una casa basat en diverses característiques.
Pas 1: Preparar les dades
SELECT bedrooms, bathrooms, sqft_living, sqft_lot, floors, price FROM `project.dataset.housing_data`
Pas 2: Crear el model
CREATE OR REPLACE MODEL `project.dataset.house_price_model` OPTIONS (model_type='linear_reg', input_label_cols=['price']) AS SELECT bedrooms, bathrooms, sqft_living, sqft_lot, floors, price FROM `project.dataset.housing_data`
Explicació del codi
- CREATE OR REPLACE MODEL: Crea un nou model o reemplaça un model existent.
- OPTIONS: Defineix les opcions del model. En aquest cas,
model_type='linear_reg'
especifica que es tracta d'un model de regressió lineal, iinput_label_cols=['price']
indica que la columnaprice
és la variable objectiu. - SELECT: Selecciona les columnes que s'utilitzaran per entrenar el model.
Pas 3: Entrenar el model
El model es crea i s'entrena automàticament quan s'executa la instrucció CREATE MODEL
.
Pas 4: Avaluar el model
Explicació del codi
- ML.EVALUATE: Avalua el rendiment del model utilitzant diverses mètriques, com ara l'error quadràtic mitjà (RMSE).
Pas 5: Fer prediccions
SELECT * FROM ML.PREDICT(MODEL `project.dataset.house_price_model`, ( SELECT bedrooms, bathrooms, sqft_living, sqft_lot, floors FROM `project.dataset.new_housing_data` ))
Explicació del codi
- ML.PREDICT: Utilitza el model entrenat per fer prediccions sobre un nou conjunt de dades.
Exercici pràctic
Exercici
Crea un model de classificació logística per predir si un client comprarà un producte basat en les seves característiques demogràfiques i de comportament.
- Prepara les dades seleccionant les columnes rellevants.
- Crea el model utilitzant
CREATE MODEL
. - Avalua el model amb
ML.EVALUATE
. - Fes prediccions amb
ML.PREDICT
.
Solució
-- Pas 1: Preparar les dades SELECT age, income, previous_purchases, will_buy FROM `project.dataset.customer_data`; -- Pas 2: Crear el model CREATE OR REPLACE MODEL `project.dataset.purchase_prediction_model` OPTIONS (model_type='logistic_reg', input_label_cols=['will_buy']) AS SELECT age, income, previous_purchases, will_buy FROM `project.dataset.customer_data`; -- Pas 3: Avaluar el model SELECT * FROM ML.EVALUATE(MODEL `project.dataset.purchase_prediction_model`); -- Pas 4: Fer prediccions SELECT * FROM ML.PREDICT(MODEL `project.dataset.purchase_prediction_model`, ( SELECT age, income, previous_purchases FROM `project.dataset.new_customer_data` ));
Resum
En aquest tema, hem après què és BigQuery ML i com ens permet crear models d'aprenentatge automàtic utilitzant SQL. Hem vist com crear un model de regressió lineal, avaluar-lo i fer prediccions. També hem practicat amb un exercici de classificació logística. Amb aquests coneixements, estem preparats per explorar més funcions avançades de BQML en els següents temes.
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