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, i input_label_cols=['price'] indica que la columna price é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

SELECT
  *
FROM
  ML.EVALUATE(MODEL `project.dataset.house_price_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.

  1. Prepara les dades seleccionant les columnes rellevants.
  2. Crea el model utilitzant CREATE MODEL.
  3. Avalua el model amb ML.EVALUATE.
  4. 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

Mòdul 2: SQL bàsic a BigQuery

Mòdul 3: SQL intermedi a BigQuery

Mòdul 4: SQL avançat a BigQuery

Mòdul 5: Gestió de dades a BigQuery

Mòdul 6: Optimització del rendiment de BigQuery

Mòdul 7: Seguretat i compliment de BigQuery

Mòdul 8: Integració i automatització de BigQuery

Mòdul 9: Aprenentatge automàtic a BigQuery (BQML)

Mòdul 10: Casos d'ús de BigQuery en el món real

© Copyright 2024. Tots els drets reservats