En el episodio de hoy de Un podcast ninja sobre Big Data vamos a hablar de cómo conseguir datos para poner a funcionar nuestros proyectos ninja. Ya sea para entrenar modelos de Machine Learning o para dominar la analítica de datos o para lo que sea.
Tal vez cuando pensáis en análisis de datos o en entrenar modelos de Machine Learning os vienen a la cabeza las grandes bases de datos que pueden tener las empresas con toda esa información sobre sus clientes.
¿Qué podemos hacer nosotros pequeños saltamontes del Big Data únicamente armados con un ordenador e Internet?
Antes de agobiarnos con que necesitamos una infraestructura para almacenar y procesar grandes cantidades de datos o contratar servicios en la nube y que ni idea de cómo vamos a hacer eso, pensad que en realidad no hace falta.
Se puede comenzar con los datos que tengamos almacenados en una sencilla hoja de cálculo.
Con un dataset mínimo viable.
No tiene que tener un tamaño muy loco para que podamos ver si podríamos entrenar un modelo de Machine Learning o si es posible que en ese pequeño dataset podemos encontrar algún patrón o tendencia que responda nuestras preguntas.
Luego ya veremos cómo hacemos para mejorarlo con más datos.
Pues podemos comenzar por los datos abiertos.
Y es que ya os digo que estamos en la era de la barra libre de los datos.
Muchos gobiernos, universidades, ayuntamientos y entidades mantienen bases de datos disponibles para que cualquiera con acceso a internet pueda descargarse esos datos.
En el caso del gobierno de España se pueden acceder en la web datos.gob.es.
Ahí tenemos datos de todo tipo:
De lo que os podáis imaginar, vaya.
Estos datasets se pueden descargar y explorar de manera independiente o también se pueden agregar con otros, incluso de otros sitios distintos, para hacerlos más completos.
Por ejemplo, imaginad que queréis montar un restaurante en Las Palmas… pues igual os interesa saber dónde hay más viviendas vacacionales para montarlo en el lugar óptimo.
Por otro lado, hay que tener en cuenta que muchos de los enlaces en la web de datos abiertos del gobierno funcionan un poco regular.
Pero que no cunda el pánico.
Hay muchos otros lugares de los que sacar datos. Del tipo que sea.
La ciudad de Nueva York tiene un portal de datos abiertos con datasets que van desde las carreras de los taxis con información sobre la hora y lugar de recogida y destino, la distancia, los pasajeros, la tarifa… hasta la población de ardillas en Central Park, con datos sobre el color del pelaje, dónde se vio por última vez esa ardilla, la edad, su interacción con humanos…
Como veis, hay un dataset por ahí para el problema que se os ocurra.
Pero no solo es posible conseguir datos de organizaciones públicas sino que también hay empresas privadas como Amazon o Google que ponen a disposición de todo el mundo datasets con todo tipo de información útil.
Lo que pasa es que en ocasiones no es posible descargar los datos o puede ser que haya que pagar por acceder a ellos.
¿La parte buena?
Pues que en el caso de conjuntos de datos ofrecidos por Amazon, Google o alguna otra empresa privada, podemos esperar más consistencia y probablemente sean unos datos más limpios.
Aunque no siempre tiene que ser así.
Google pone a disposición de todo el mundo datasets a través de Google BigQuery.
BigQuery es el almacén de datos en la nube de Google.
Si escuchasteis el episodio sobre Ingeniería de datos hablábamos de data warehouses y data lakes y todas estas cosas.
Los datasets públicos alojados en BigQuery pueden accederse y consultarse directamente con SQL así que también es una oportunidad para cacharrear un poco con este lenguaje fundamental en el análisis de datos.
Y ojo que incluso con BigQuery se puede hacer Machine Learning directamente en SQL.
⚠️ Pero cuidado porque BigQuery no es gratuito ⚠️
Eso sí, tiene una zona de pruebas con un nivel gratis que ofrece 1TB de datos de consulta procesados cada mes y una capacidad de almacenamiento de 10GB.
Otro día hablamos de tooodo lo que se puede hacer en BigQuery que es mucho y muy variado.
Muchos de los datasets públicos de BigQuery se mantienen completamente actualizados y de temática muy interesante.
Por ejemplo, podríamos explorar datos de navegación análogos a los que obtendríamos en Google Analytics de un ecommerce ficticio.
Pero por si no encontráis datos que utilizar de vuestro interés en BigQuery, hay más opciones.
En el caso de Amazon, tenemos un completo catálogo de datasets con más de 4000 conjuntos de datos a explorar y que podemos filtrar por categoría.
Por ejemplo, tienen disponible un conjunto de datos con información sobre las ventas de coches Tesla de segunda mano en EEUU.
Con estos datos, una cosa muy sencilla que podríamos montar si estamos empezando en el mundo del machine learning es un modelo que sea capaz de predecir el precio de venta de un Tesla de segunda mano.
¿Qué preferimos darle caña al análisis de datos?
Pues con el mismo dataset podríamos ver si hay un patrón en el precio de los coches.
Igual los coches blancos alcanzan precios más altos o igual nos conviene más vender nuestro Tesla antes de que alcance un kilometraje determinado porque después el precio de venta que puede alcanzar es menor.
O tal vez encontremos que en un momento específico del año los precios son más altos y veamos que igual es que la oferta disminuye por lo que sea.
Imaginación al poder.
Y luego está Kaggle.
Kaggle es la comunidad online de científicos de datos y especialistas en Machine Learning por excelencia.
Otro día os hablo de ella más en profundidad, si queréis, pero hoy me voy a centrar en el apartado que tiene con datasets.
Porque sí, tiene un montón de conjuntos de datos disponibles sobre cualquier cosa.
Pero la parte buena que tiene Kaggle respecto a otras opciones para encontrar datos y que muchas veces puede pasar desapercibida es la parte de comunidad.
Alrededor de cada dataset podéis ver los problemas que está resolviendo la gente con esos datasets, los problemas que ha encontrado y las valoraciones que está recibiendo un dataset en concreto.
Si no tenéis ningún problema específico a resolver sino que simplemente queréis iniciaros en esto de los datos, es más sencillo comenzar por un dataset que haya sido valorado positivamente por otras personas antes que irte la web de datos abiertos del gobierno y pelearte con esos datos.
Además los conjuntos de datos disponibles están agrupados en categorías según su popularidad o si están en tendencia.
Y también ofrece la posibilidad de que vosotros mismos subáis vuestro propio dataset para compartirlo con el resto de la comunidad.
Igual de repente a un usuario de la India se le ocurre resolver un problema con esos datos que a vosotros se os había pasado por alto.
Pero lo que es muy muy recomendable es el buscador de datasets de Google.
Ahí simplemente buscáis lo que queréis, como cuando buscáis en Google normal, y os devuelve datasets que igual os pueden servir.
Incluyendo datasets alojados en Kaggle.
Además se pueden filtrar los resultados según cuándo se actualizó ese dataset por última vez, que formato tienen los datos (tipo tabla, imágenes, textos...)
También se pueden filtrar según si se pueden usar para cosas comerciales o ese tipo de uso no está permitido o según el tema.
Está muy guay.
Y luego, cuando seleccionáis un conjunto de datos concreto de la lista de resultados podéis encontrar los enlaces a la ubicación real de los datos y la descripción breve de lo que contienen los datasets.
Y ya para la gente muy pro siempre queda la opción de scrapear una web en particular o las webs que sean para obtener datos.
Esto del web scraping consiste en leer webs y recopilar los datos que queramos de manera automática lo cual está muy bien.
En lugar de ir visitando cada web y apuntando en una tablita a mano los datos que nos interesan se hace de manera programática, que es mucho más cómodo y rápido.
Eso sí, hay que saber programar.
Aunque está ese pequeño detalle de tener los permisos del propietario de la web.
¿Alguna vez habéis estado buscando piso en algún portal como Idealista y habéis estado tanto rato que en un momento dado os ha salido la preguntita esta para confirmar que realmente no sois un robot?
Pues eso es Idealista intentando evitar que le hagan scrapeen la web.
Como veis hay muchas opciones.
Y si que es verdad que en ocasiones el paso más complicado es el de capturar los datos adecuados.
No capturar datos sin más, sino capturar los datos adecuados. Datos reales y de calidad.
Pero también es cierto que sitios web como Kaggle o Google BigQuery o el resto de fuentes de datos de las que hemos hablado hoy, ofrecen datasets gratis para cualquiera que quiera usarlos.
Incluso en muchas ocasiones estos conjuntos de datos ya vienen limpitos y organizados sin muchos valores faltantes, que cuando estamos empezando en esto de la ciencia de datos y el Machine Learning es de agradecer.
Estos son los lugares en los que puedes encontrar datasets gratis:
Espero que os guste el episodio.
Si es así, no olvidéis dejar un «Me gusta» y algún comentario al episodio en Ivoox o una valoración de 5 estrellas del podcast en Apple podcasts, en Spotify, en Google podcasts o donde quiera que escuchéis el podcast.
Recordad que si tenéis cualquier duda o pregunta podéis contactar conmigo a través del formulario de contacto o podemos seguir la conversación en Twitter.
Muchas gracias por estar ahí y os espero en el próximo episodio de Un Podcast Ninja sobre Big Data.