Translate

Mostrando entradas con la etiqueta BigQuery. Mostrar todas las entradas
Mostrando entradas con la etiqueta BigQuery. Mostrar todas las entradas

jueves, 8 de junio de 2023

Crear un modelo de regresión linear en BigQuery ML- GCP

Una de las cosas que mas me ha llamado la atencion al ponerme con Google Cloud platform y especialmente BigQuery (que es la joya de la Corona) es la posiblidad de hacer modelosusando SQL. Después de tan tiempo aprendiendo R y luego Python, ahora resulta que en BigQuery los debes hacer en SQL. 

Bueno, pues nada, parece un poco fuera de lugar pero allá vamos. En el curso una cosa que he echado en falta ha sido el hecho de que apenas se explican que hacen los ejercicios. En decir te explican la forma, pero no el porqué. Aunque entiendo que un ingeniero de datos no debe saber tanto de como hacer los modelos, a mi parece queda un poco cojo hacer un copia y pega sin saber en realidad lo que hace el código. Sobre todo si vienes de Software Engineering, y no sabes ni como funcionan los modelos.
Así que aquí estoy yo para intentar dar un poco de luz a esto.
Además a mi me resultó especialmente fácil porque para mi dissertation yo hice un modelo parecido. (si es que está todo inventado... larga vida al Machine Learning)

A la hora de crear un mdoelo, lo primero que tenemos que hacer es éntrenar nuestro modelo. Para eso vamos a usar una parte de nuesta muestra para entrenarlo(un porcentaje) y luego lo aplicaremos al total para ver si se puede extrapolar.

En cuanto al código que nos da para el ejercicio Google Cloud

Aquí ya vamos a crear un modelo que se llamará bike model. 

// Query train a model
CREATE OR REPLACE MODEL
  bike_model.model

En Options le vamos a meter las variable target. Es decir la que queremos predecir y además le vamos a decir el tipo de algortimo que vamos a usar. En este caso vamos a hacer una regresion lineal
 
OPTIONS
  (input_label_cols=['duration'],
    model_type='linear_reg') 

Para hacer la regresión lineal  vamos a seleccionar además otras variables llamadas independientes. En este caso vamos a seleccionar la duración, el dia de la semana y la hora.
Si no estás muy puesto en SQL te puede resulta raro el tema CAST que se mete por ahí en medio.Es una sentencia avanzada del lenguaje que se usa para cambiar el tipo de variable.En este caso las dos variable las convertimos a string y las llamamos como dayofweek y hoursofday. Las dos las convertirmos desde start-date  
AS
SELECT
  duration,
  start_station_name,
  CAST(EXTRACT(dayofweek
    FROM
      start_date) AS STRING) AS dayofweek,
  CAST(EXTRACT(hour
    FROM
      start_date) AS STRING) AS hourofday
FROM
  `bigquery-public-data`.london_bicycles.cycle_hire

Y para terminar con el from elegimos el dataset que estamos usando. 
Espero que esto sirva para dar un poco más de luz en BigQuery. Todos los derechos reservados a Google que son los que han escrito el código.

En caso de que quieras saber que pasa una vez que le das a run. BigQuery te calculos los cohefientes como si hubieras usado cualquier libreria de DataScience en R o Python. Te lo saca en su tablita y así puedes ver si funciona tu moledo o si debes seguir trabajando en el.

Seguiremos informando
Otros link a checkear

lunes, 4 de enero de 2021

Soluciones de Machine Learning en GCP - Google Cloud Platform

Una de las cosas que más me ha impactado sobre Google Cloud y los demás proveedoras en la nube como Amazon AWS y Azure es la cantidad de servicios que ofrece sobre Machine Learning. Durante mi carrera profesional siempre he encontrado que la democratización del acceso a diferentes datos siempre ha sido bastante complicada desde un punto de vista técnico y los proyectos duraban annos, así que mucha empresas, aburridos por el pace de estos directamente abandonaban los esfuerzos puestos en ello y se dejaban de priorizar estos. 
Estos últimos dos annos GCP se ha propuesto que sea cada vez más facil tener acceso a la automatización de procesosy nos ofrecen diferentes formas de desarrollar y usar estos algoritmos sin tener que saber muy bien que hacen. Además el hecho de poder pagar por los recursos que necesitemos, sólo cuando los necesitamos y sin necesidad de tener un ordenador super potente, quita muchas barreras a usuarios que tienen ordenadores lentos.

Que soluciones ofrece Google Cloud Platform en materia de aprendizaje automatico.


martes, 6 de octubre de 2020

Bigquery user interface para principiantes

Este ultimo año me he convertido en una advocate de Google Cloud y de BigQuery y me ha tocado enseñar como funciona. Parece que muchos analistas digitales miran con bastante recelo a la interfaz de usuario de BigQuery con toda esa parafernalia de Ingenieria de Datos o cientifico de datos. La buena noticia es que 

En realidad BigQuery quita mucha complejidad a las asi que se me ha ocurrido llenarla de dibujitos y colorines y explicar como es la arquitectura de datos para el usuario final, tipo analista digital.

Bueno, el diseño no es lo mio, y la verdad es que  habría que echar la culpa del resultado final, no soy a mi (mea culpa) sino tambien a Microsoft por su programa ´Paint 3d´.

Una vez que accedemos a GCP Google Cloud Platform   en nuestro proyecto sólo tendremos que poner en el buscador BigQuery y nos llevará a la siguiente pantalla.

Una vez en seleccionado nuestro proyecto vamos a crear un dataset para poder analizar datos.
En nuestro caso se va a llamar eCommerce, ya que vamos a medir transacciones en él.

Aqui es donde he visto que los principiantes tienes mas problemas con la interfaz.

Dentro de nuestro proyecto, vamos a tener
- Un proyecto
- Donde crearemos un dataset
- Este Dataset tendrá tablas
- Las tablas tendrán filas y columnas

- Además para tener mayor acceso a los datos vamos a crear vistas, pero esto lo explicaré más abajo
#Si miramos la interfaz de usuarios podemos ver la siguiente estructuras en nuestros proyectos.


Practicamente de un vistazo, bajo el menú de la izquierda, podemos ver todo lo necesario para hacer nuestras queries. Y además si miramos el resto de la pantalla podemos encontrar las misma referencias. He añadido las referencias (dibujitos) 

sábado, 3 de febrero de 2018

Calcular Unique Visitors en eCommerce usando BigQuery

 Como calcular Unique Visitor para Channel Grouping de Google Analytics

Uno de las metricas mas importantes para un analista web son los unique visitors. Hasta ahora para conseguir esta metrica en BigQuery debemos usar el fullVisitorId que es semejante a userID

La siguiente consulta nos muestra como conseguir los unique visitors de cada canal del Channel Grouping de 

- nuestro proyecto llamado misdatos

- donde hemos exportado una tabla con todas las sesiones

Qué hace este código SQL?

Google Analytics nos proporciana el fullVisitorId, y para poder contar los no duplicados necesitamos usar DISTINCT. Con el AS creamos ademas el nombre de la nueva variable que vamos a llamar unique_visitors - visitantes unicos.



Otras  métricas similares se pueden encontrar en la tabla de abajo, actualizado a Agosto 2021. Actualmente ha quedado como deprecated el visitorID y ha aparecido (desde mediados de 2018) otra métrica que si que podemos encontrar como tal aparece en en la interface de Google Analytics, el ClientID. 


Más info sobre BigQuery