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

  1. 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.

  1. 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.

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

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

  1. 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).
  2. 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ó

  1. Executa la consulta SQL anterior per crear i entrenar el model.
  2. Avaluar el model utilitzant ML.EVALUATE.
  3. 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

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