Translate

martes, 24 de octubre de 2023

Introducción a Vertex AI y las herramientas que lo componen

 Listado de herramientas que encontramos en Vertex AI

De un vistazo podemos ver en esta tabla de las diferentes herramientas que están contenidas dentro de Vertex y que nos ayudan a crear nuestros modelos de forma más fácil desde las soluciones No code a los servicios para entrenar  y desarrollar estos


Para más info y acceso al servicio en Google Cloud: https://cloud.google.com/vertex-ai/



jueves, 17 de agosto de 2023

Descargar videos y cursos de Coursera a nuestro PC

Espero que no os hayais encontrado en la situación de encontraros sin datos en esta 'epoca de confinamiento. Hace unas semanas yo me encontré con este tema. 
 
Coursera es mi sitio favorito para aprender nuevas cosas y he sido usuaria desde tiempos inmemorables. Tenemos un montón de MOOC donde aprender de todo y cada vez en más idiomas.

Qué son los MOOC

Los MOOC son cursos masivos abiertos. Como mundo capitalista que somo muchas universidades han aprovechando para monetizar los contenidos que abren y si quieres un certificado para muchos de esos cursos debes de pagar. Pero, hemos venido a aprender no?

El primer curso que completé fue uno de HCI (Human Computer Information) de la Universidad de Standford.El profe después se fue a California y se llevó su MOOC con él. Era inimaginable toda la gente que nos juntábamos ahí para aprender. De todos los países, con nuestra media lengua en inglés. 

He de decir que el profesor le echaba horas y muchas ganas. Era un continuo aprender para él y para nosotros Más tarde empezaron a ofrecer el curso en espanol. Yo hice este curso dos veces, aprovechando además los recursos en castellano, ya que lo más valioso eran las peer reviews. Igualmente muchas empresas de software suelen tener convenios y te dejan usar este software.

Así descubrí balsamiq y otro software de prototipado algo más complejo pero que ayudar a los clientes a ver cómo quedaría esta página. 

Hace unos años crearon una app donde puedes descargarte lecciones. Lo cual está bien, pero sinceramente no quiero ver los videos ni las lecciones en el móvil, yo soy mucho más de PC. 
Así es como me veo mientras escribo esto.




Así que volviendo a esto, confinada, sin conexión a Internet en casa, movil roto (ah olvidé esto). Qué podemos hacer.

Tachán (no, no tengo Chromecast)

En caso de que esteis en ese caso y no queráis tirar de datos y toquéis algo de Python aquí tenéis un script para hacerlo. Debemos seguir unos sencillos pasos para hacerlo.

Pasos que vamos a seguir

Para simplificarlo necesitamos en caso de que tengamos un ordenador windows.
  1. Chrome navegador
  2. Instalar en Chrome cookies.txt
  3. Estar inscritos en el curso que queramos descargar. aunque sea en la modalidad auditoria (audit)
  4. En windows- Abrir CMD
En mi caso quiero descargar este curso que Google además ofrecía gratis.
Machine Learning for Business Professionals

Esta es la dirección web :

Descargar cookies


Si tenemos chrome lo primero debemos instalar una extensión que se llama cookies.txt


Y tras esto, vamos  a visitar la página del curso de coursera y descargar las cookies. Primero pulsamos el icono y después en el texto que nos aparece a lo pop up le damos a descargar cookies.




Corriendo el script para descargar el curso de Coursera

Si estamos en windows debemos abrir CMD  y pegar en mi caso
dl_coursera --cookies /Users/Maria/Downloads/cookies.txt  
--slug machine-learning-business-professionals --outdir mt --how builtin

vale, que debes cambiar aquí:

--cookies xxxx-direccion-donde-tenemos-descargadas-las-cookies-de-coursera-xxxx
Aquí debes poner la dirección donde están las cookies)
--slug xxxx-url-especifica-del-curso-xxxx
Aquí pondrás la dirección del curso
--outdir xxxxxxxx
Aquí el nombre del directorio donde se descargará

Resultado : Ya tenemos los videos en nuestro ordenador

Y et voilá aquí tendremos nuestro cursos con sus videos y materiales
 

Espero que sea de ayuda en tu camino al aprendizaje.

Este curso además aunque tiene ya varios años es super útil para entender los beneficios para las empresas.

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

viernes, 20 de enero de 2023

Framework para EDA y como automatizar en Python el análisis exploratorio

 Antes de ponernos a hacer algún modelo o análisis y más allá de las herramientas que vamos a utilizar nos va a tocar familiarizarnos con los datos y ver que tipo de modificiones debemos hacerle antes de tenerlos listos 
Para ello existe un tipo de análisis EDA: Análisis de datos exploratorio. 
Lo que podemos definir que entra dentro de este análisis va a depender de las necesidades del dataset y de las preguntas que tenga el negocio, Lo que si es cierto es que una vez hecho uno, podemos reutiliar formulas para aplicarlo al resto de análisis.Sobre todo la parte de visualización  
Así que podemos definir un framework para transformar esos datos

Framework para realizar el análisis exploratorio

Podemos así ver 5 fases que pueden ser iterativas:

Data Sourcing

De dónde vienen los datos, tenemos que modificar el tipo de variable o la codificación? 

Data Cleaning

Existen valores nulos? Debemos eliminar valores atípicos, valores duplicados.

Univariate analysis

Cómo se distribuye cada una de las variables? Valores máximos y mínimos, ...

Bivariate analysis

Existe correlación entre dos variables. Una variabe ayuda  a predecir a la otra?

Multivariate analysis

Y cómo se comportan estas variables en su conjunto? Podemos añadir nuevas variables a partir de las que ya tenemos?

Automatización del análisis exploratorio en Python

Pues visto así esto nos puedo llevar bastante tiempo, pero se irá una inversión a medio plazo. Como comentaba más arriba gran parte del análisis exploratorio para el análisis de datos se puede automatizar. 

df.describe()

Y sobre todo visualizando las variables usando numpy y pandas con seaborn

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt


Librerias para la automatización del EDA en Python

Hasta la fecha ya tengo en mi bookmark tres librerias que automatizan esta parte. Sobre todo a mi me parece útil para hacer visualización tras transformar datos o creas nuevos. Estas librerias también se puede utulizar para comparar los datos que tenemos en nuestros train dataset de forma muy rápida. 
Las tres librerias que comento aquí hacen uso de tan sólo 2-3 líneas de comando.

Por mi orden de preferencia:
  1. 1. Pandas profiling, que nos da un informe de spoiler como este. Aunque los comandos avanzados no son muy avanzados, aquí tienes como instalar esta librería en Python
  2. 2. Dataprep 
  3. 3. Sweetviz, que es más ligero de pandas profiling

Quiero saber más sobre EDA!!