Temática
Empleabilidad
Tiempo de lectura
5 minutos
Todos sabemos que las principales competencias técnicas demandadas en las vacantes del sector de Big Data son:
Paloma Romero
EMEA Talent and Culture Lead
Autora del artículo
En un mercado laboral tan competitivo como el actual, es importante que los que buscan empleo en Big Data tengan una idea clara de lo que las empresas buscan.
Un informe del Boston Consulting Group sitúa a España como el octavo país "más atractivo" del mundo para el traslado de trabajadores tecnológicos, por detrás de Francia y Suiza. Esto lo facilita la alta calidad de vida en España y nuestra cultura.
Asimismo, en España, el 70% de los trabajadores tecnológicos son hombres, y sólo el 30% mujeres. Algunas instituciones, como la Universidad de Granada, están desarrollando iniciativas para eliminar esta brecha, pero todavía hay que trabajar mucho para lograr un equilibrio.
Jonathan Lowe aclara que a veces hacemos excepciones y contratamos sin tener todas las habilidades, y nos fijamos en la experiencia en el negocio, "Si alguien dice: 'He trabajado en un laboratorio de calidad durante la mitad de mi carrera y ahora, durante los últimos años, he estado aprendiendo más ciencia de datos', nosotros engulliremos a esas personas".
Por otro lado, según Yichen Sun, "necesitamos a alguien que tenga principios y sea práctico a la vez, que haga las concesiones adecuadas y que sea capaz de articular el 'por qué' de esas decisiones técnicas".
Cerrar la brecha entre el negocio y los datos de una empresa son las principales prioridades, haciendo hincapié en la importancia de traducir con precisión la información obtenida de los datos en estrategias empresariales viables.
Por ello, las funciones actuales centradas en los datos también requieren curiosidad, lo que contribuye a una mentalidad innovadora y orientada a la resolución de problemas. Aunque un experto en datos con una solución en busca de un problema no es algo que rompa el trato, Sun dijo que intentará entrenar a la persona para que entienda que su solución puede ser la aplicación correcta para un problema, pero que puede haber una forma "aún más elegante o incluso más simple de hacerlo".
En relación con esto, Sun también busca a "alguien que sea más reflexivo, que sea capaz de recibir esta retroalimentación de una manera muy productiva y ser adaptable en términos de qué enfoque utiliza."
Por último, Nadine Kawkabani declara que la necesidad de competencias interpersonales son ejemplos de cómo han cambiado los puestos de trabajo relacionados con los datos y el análisis, y la cultura asociada. Ya no se trata de trabajar con datos; se trata de garantizar que los datos tengan sentido y que las personas que los manejan entiendan también cómo influyen en la estrategia de la empresa.
"Todos dependemos de todos", afirma Kawkabani. "Puedo plantear la mejor estrategia, pero si no tengo buenos datos, buenos gráficos, datos precisos y datos oportunos e interpretables, no significan nada".
Tras estas opiniones podemos entonces concluir que en un mercado laboral tan competitivo como el actual, las empresas buscan a los mejores y para ello no solo hay que ser “excelente” en datos, hay que ser también excelente en:
Cualquier empresario buscará a la persona que genere mayor valor añadido a su negocio, que aumente la calidad de lo que hace o que sea capaz de ir más allá de lo esperado… esto es escalable a cualquier sector y a cualquier área, no solo a las relacionadas con los datos. Esto nos lleva a que debemos ser los mejores a nivel técnico y a nivel competencial
Por otro lado, un informe del Boston Consulting Group sitúa a España como el octavo país "más atractivo" del mundo para el traslado de trabajadores tecnológicos, por detrás de Francia y Suiza. Claramente, la alta calidad de vida en España y nuestra cultura facilitan esta posición.
Desafortunadamente sigue existiendo diferencia de género en España, ya que como se ha explicado anteriormente, el 70% de los trabajadores tecnológicos son hombres. Sólo el 30% son mujeres.
Según IESE, a pesar de las elevadas tasas de desempleo juvenil en España, el 75% de las empresas encuestadas afirma estar encontrando importantes dificultades para contratar talento con las competencias adecuadas para cubrir sus necesidades.
Además, el 76% de las empresas señalan una brecha de competencias entre lo que necesitan sus organizaciones y la formación ofrecida por el sistema universitario. Al mismo tiempo, el 79% de las empresas señalan una brecha de competencias en los candidatos con formación profesional.
En las grandes empresas encuestadas se espera que el teletrabajo represente casi el 40% de las horas de trabajo en 2025. Frente a esto, las habilidades de liderazgo de los directivos cobrarán mayor relevancia (según el 88% de las empresas). El resto de la plantilla deberá mostrar más capacidad de aprendizaje y de trabajo en equipo (según el 60% y el 59% de las empresas, respectivamente), entre otras habilidades.
Finalmente, ya que hablamos de la empleabilidad hablemos también de los salarios tomando varias fuentes:
¿Sabes qué es y cómo funciona el análisis de datos? En datahack te lo contamos.
Luis Miguel Gómez Caballero (formador en herramientas TIC) viene a explicarnos en el nuevo evento de datahack: "Sector Inmobiliario y Big Data: El futuro de la búsqueda de casa". Una pequeña introducción al análisis de datos en el que nos hablará sobre el uso de la función correlación, el establecimiento de un segmento, la aplicación de regresión lineal y la automatización del proceso con VBA. Además, explicará un caso práctico del sector inmobiliario.
¿Cuál es el precio de las viviendas por metro cuadrado?
Luis Miguel Gómez Caballero
Formador en herramientas TIC
¡Inscríbete al evento e introdúcete en el mundo del Big Data!
¿Qué tienes que realizar para asistir a este #evento? Muy sencillo: únicamente tendrás que registrarte desde este evento y esperar al día 20 de octubre (se realizará desde LinkedIn Live por lo que se deberá acceder a la plataforma de LinkedIn a la hora del evento).
🔵 La sesión será online en directo y desde la plataforma de LinkedIn Live.
🔵 Este formulario es para apuntarte a la sesión online.
🔵 Durante esta sesión podrás preguntar todas las dudas que tengas al ponente y las irá respondiendo. No te quedes con ninguna duda.
🔵 Al registrarte recibirás un enlace en tu email con el que podrás conectarte a la sesión online.
Descubre el análisis de datos junto a datahack
Temática
Python
Tiempo de lectura
5 minutos
Luis ha decidido ser Data Scientist. Desde hace tiempo lleva dándole vueltas a dedicarse a la inteligencia artificial, pero no sabe por dónde empezar. Tras consultar en Google y a ChatGPT qué herramientas son las más adecuadas para iniciarse, concluye que desde hace tiempo hay dos lenguajes de programación más utilizados en este mundo: R y Python. Luis decide dejar de lado debates eternos y decide aprender los dos, porque ¿existe acaso incompatibilidad? Tira una moneda al aire y el resultado es empezar por Python.
De Python no sabía mucho, más allá de que es un lenguaje de programación. Buceando un poco, llega a definiciones del tipo: “Se trata de un lenguaje de programación multiparadigma, ya que soporta parcialmente la orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, dinámico y multiplataforma.”
Santiago Moreno
Senior Data Scientist y profesor de Python y machine learning en datahack
Autor del artículo
En resumen, Python sirve para todo, desde modelos de machine learning hasta para desarrollar YouTube. Para esto, Luis ve que Python se apoya en múltiples módulos, paquetes o “librerías”, “libraries” en inglés que son una ayuda para cada uno de los aspectos que se pueden utilizar con Python. En concreto para IA hay varias indispensables: Pandas, numpy, scikit learn, Keras, Matplotlib, Seaborn…. y unas cuantas más.
Por tanto, no basta con descargarse Python, sino que hay después que instalar múltiples bibliotecas o “librerías” para poder trabajar y, lo que es más complicado: cada librería depende a su vez de otras, lo cual hace que pueda haber incompatibilidad de versiones... y ¿cómo solucionar todo este lío? Cuando está a punto de tirar la toalla, Luis descubre Anaconda.
Anaconda es una distribución de Python (también de R), es decir, en lugar de instalar Python simplemente te instalas Anaconda y con ella ya tienes las principales herramientas Open Source que el Data Scientist necesita para desarrollar su actividad.
Instalar Anaconda es muy fácil; viene ya preparado para descargar el instalador según el sistema operativo que se quiera utilizar e instalarlo:
Haz clic aquí.
La instalación de Anaconda viene directamente con Jupyter Notebook como herramienta de notebooks y de Spyder como IDE de programación.
El Notebook es una herramienta muy habitual en el trabajo habitual del científico de datos. En su propia web se define como “Jupyter Notebook es una interfaz web de código abierto que permite la inclusión de texto, vídeo, audio, imágenes así como la ejecución de código a través del navegador en múltiples lenguajes. Esta ejecución se realiza mediante la comunicación con un núcleo (Kernel) de cálculo.”
Haz clic aquí.
Precisamente esa capacidad de poder incluir código junto con imágenes y texto es lo que hace particularmente adecuado para el análisis de datos, pues te permite llevar un hilo argumental a medida que se va llevando a cabo el estudio, los modelos, extrayendo las métricas, etc.
Sin embargo, los notebooks tienen una importante limitación: no permiten de modo fácil la productivización de los distintos algoritmos. Para esto es mejor recurrir a lo que se conoce como un IDE, es decir, un entorno para desarrollo integrado. Anaconda viene integrado con Spyder para lo que es la parte más de desarrollo y menos de análisis.
Haz clic aquí.
Una de las particularidades de Python como lenguaje Open Source es su continua evolución que puede hacer que desarrollos pasados que utilizaban ciertas versiones sean incompatibles con versiones más modernas. No solo casos ya extremos como una aplicación desarrollada con Python 2 que no funcione en Python 3, sino incluso métodos de librerías como pandas que se modifican o dependencias que cambian al actualizar las versiones.
Los entornos de Anaconda precisamente permiten manejar este tipo de situaciones. Un entorno de Anaconda se puede entender como un espacio aislado, independiente, donde las librerías y versión de Python se mantienen congeladas. Así, si tenemos un desarrollo muy importante que queremos seguir manteniendo con una combinación de versiones de librerías, lo ideal es tenerlo de modo estático o perenne en uno de estos entornos de anaconda.
Una de las recomendaciones a la hora de abordar proyectos es, precisamente, tener un entorno base con la instalación de Anaconda o incluso Miniconda (ya veremos la diferencia) y a partir de ahí, que cuelguen los diferentes entornos con las librerías requeridas para cada caso.
Los comandos más habituales para trabajar con entornos son:
Conda no es lo mismo que Anaconda: Conda es un gestor de paquetes, mientras que Anaconda es una distribución que, además de Python, incluye las librerías más habituales para el día a día del análisis de datos. Esto se traduce en que es Conda quien se va a encargar de manejar las distintas dependencias entre librerías de las que ya hemos hablado.
En resumen, es quien se va a ocupar cuando queramos actualizar una librería o instalar una nueva de que todo marche bien. La ventaja de habernos instalado Anaconda es que Conda viene integrado.
¿Esto significa que sin Conda no podríamos instalar nuevas librerías? No. Python incorpora un comando, Pip, que precisamente sirve para instalar nuevos módulos. Tanto Conda como Pip son válidos para instalar librerías, si bien, siempre que se pueda recurrir a Conda, merece la pena utilizarlo.
Por tanto, siempre que se quiera instalar una librería, podemos seguir los siguientes pasos que se van a ilustrar con un ejemplo. Supongamos que se desea instalar una librería que no viene por defecto con Anaconda, como puede ser Swifter.
En este caso, bastaría con ejecutarlo en la línea de comandos de Anaconda:
Basta escribir “pip install swifter” en la línea de comandos:
El mundo de la Inteligencia Artificial y de la ciencia y análisis de datos está muy ligado a Python y esto implica, necesariamente, adaptarse a las particularidades de este mundo. Anaconda viene tanto a solucionar la entrada a los que se inicien en este apasionante mundo como a ser una herramienta imprescindible en el día a día para los científicos de datos más experimentados gestionando por nosotros entornos, librerías o paquetes etc. Desde luego, es una solución muy recomendable para el día a día del análisis de datos.
La Inteligencia artificial y chat GPT han dado de que hablar en los últimos meses, tanto en el ámbito privado como el profesional.
Pablo Montoliu, Chief Information & Innovation Officer en Aon; Ángel Niño, Concejal en Madrid delegado de Área de Innovación y Emprendimiento, además de Presidente de MercaMadrid; y Lourdes Hernández, CEO de datahack, presentarán y explicarán en detalle lo que esta moda o revolución trae consigo y si afectará de manera positiva o negativa a nuestra vida cotidiana.
¿Es la IA y chat GPT una moda pasajera o han llegado para quedarse?
El evento constará de la siguiente estructura:
Nuestros ponentes
Pablo Montoliu
Chief Information & Innovation Officer en Aon
Ángel Niño
Concejal en Madrid delegado de Área de Innovación y Emprendimiento, y Presidente de MercaMadrid
Lourdes Hernández
CEO de datahack
¡Inscríbete al evento y no te pierdas nada!
¿Qué tienes que hacer para asistir a este #evento? Muy sencillo. Únicamente tendrás que registrarte desde este evento y esperar al día 24 de mayo (se realizará desde LinkedIn Live por lo que se deberá acceder a la plataforma de LinkedIn a la hora del evento).
Regístrate aquí gratis para asistir online:
🔵 Esta sesión será online en directo y desde la plataforma de LinkedIn Live.
🔵 Este formulario es para apuntarte a la sesión online.
🔵 Durante la sesión podrás preguntar todas las dudas que tengas al ponente y las irá respondiendo. No te quedes con ninguna duda.
🔵 Al registrarte recibirás un enlace en tu email con el que podrás conectarte a la sesión online.
Adelántate al futuro con este evento y amplia tus conocimientos de la mano de profesionales.
Temática
BigQuery
Tiempo de lectura
5 minutos
BigQuery es un almacén de datos como servicio que nos permite cargar nuestros datos y en pocos minutos hacer consultas SQL con ellos y sacar conclusiones de una manera económica, fiable y rápida.
Esta pensado tanto para una pequeña empresa como para grandes corporaciones ya que es escalable desde unos pocos gigabytes a cientos de petabytes. Tiene la ventaja de resolver las consultas utilizando el lenguaje SQL que es ampliamente conocido y por su puesto los datos cuentan con la seguridad que Google puede ofrecer.
Están cifrados en disco y en tránsito y son durables y altamente disponibles.
Y finalmente es un servicio gestionado, es decir, no nos tenemos que preocupar ni de la infraestructura ni de las comunicaciones ni de la seguridad, Google lo hace por nosotros.
Juan Valladares
CEO in Best In BI y profesor en Datahack School
Autor del artículo
Insertar
Almacenar
Analizar
Visualizar
Las organizaciones confían en los almacenes de datos para agregar datos de fuentes dispares, procesarlos y ponerlos a disposición para el análisis de datos que respalde su toma de decisiones estratégicas.
Puede insertar datos en BigQuery mediante la carga por lotes o la transmisión de datos directamente para brindar información en tiempo real.
Como almacén de datos totalmente administrado, Google se encarga de la infraestructura para que pueda concentrarse en analizar sus datos hasta una escala de petabytes.
Almacén de datos completamente administrado
ESCALA PETABYTE
Como almacén de datos totalmente administrado, Google se encarga de la infraestructura para que pueda concentrarse en analizar sus datos hasta una escala de petabytes.
Structured Query Language (SQL)
Si desea crear modelos de aprendizaje automático con los datos de su empresa, puede hacerlo con BigQuery ML. Con solo unas pocas líneas de SQL, puede entrenar y ejecutar modelos en sus datos de BigQuery sin necesidad de moverlos.
Cuando llega el momento de visualizar sus datos, BigQuery se integra con Looker, así como con varias otras herramientas de inteligencia comercial en su ecosistema de socios.
Ahora, ¿cómo usar BigQuery? Afortunadamente, es sencillo comenzar a utilizar BigQuery.
Después de crear un proyecto de GCP, puede comenzar de inmediato a consultar conjuntos de datos públicos, que Google Cloud aloja y pone a disposición de todos los usuarios de BigQuery, o puede cargar sus propios datos en BigQuery para analizarlos.
La interacción con BigQuery para cargar datos, ejecutar consultas o incluso crear modelos ML se puede hacer de tres maneras diferentes:
1. Mediante el uso de la interfaz de usuario y la Consola en la nube.
2. Mediante el uso de la herramienta de línea de comandos de BigQuery.
3. Haciendo llamadas a la API de BigQuery usando bibliotecas de clientes disponibles en varios idiomas.
BigQuery está integrado con el servicio de administración de acceso e identidad de Google Cloud para que pueda compartir de forma segura sus datos y conocimientos analíticos en toda la organización.
Con BigQuery, paga por almacenar y consultar datos y transmitir inserciones. La carga y exportación de datos son gratuitas.
El coste de almacenamiento se basa en la cantidad de datos almacenados y tiene dos tarifas según la frecuencia con la que cambian los datos.
El coste de la consulta puede ser bajo demanda, lo que significa que se le cobra por consulta, por la cantidad de datos procesados, o puede ser fijo para los clientes que desean comprar recursos dedicados.
7 minutos
Estamos ya en el año 2023, y como podemos constatar en cualquier medio de comunicación, la inteligencia artificial vuelve a estar de moda. ¿Vuelve? Sí, porque en realidad este término se acuñó en el año 1956, y en los casi 70 años de historia que tiene ya esta rama de la tecnología, la misma ha evolucionado a una escala que difícilmente podría haberse pronosticado.
Desde sus inicios, la inteligencia artificial ha perseguido el objetivo de crear máquinas con una inteligencia similar o superior a la nuestra, con el fin de poder delegar trabajo cognitivo en ellas, o como apoyo para poder aumentar nuestra propia capacidad de pensamiento. Pero este objetivo es más un sueño que una meta bien definida porque, ¿qué es en realidad la inteligencia? ¿Cómo la definimos? Y, sobre todo, ¿cómo funcionan nuestros propios cerebros, esos que queremos imitar mediante tecnología? No lo sabemos con precisión.
Álvaro Barbero Jiménez
Chief Data Scientist del Instituto de Ingeniería del Conocimiento (IIC)
Autor del artículo
Es por esta indefinición que el foco de la IA y los métodos para abordarla han ido cambiando a lo largo de estas 7 décadas. En sus inicios, muchos investigadores en IA centraban sus esfuerzos en crear sistemas que pudieran replicar la capacidad de los humanos en tareas intelectualmente complejas: jugar al ajedrez, demostrar teoremas, realizar un diagnóstico médico en base las evidencias… se trataba de una forma concreta de implementar la IA, que hoy conocemos como sistemas expertos, y que tratan de realizar razonamientos empleando una base de datos de conocimientos y reglas, así como un sistema de inferencia basado en la lógica formal. Un ejemplo habitual de este tipo de sistemas sería el que dispone de la siguiente información:
hombre(x) ->mortal(x) (si es un hombre, entonces también es mortal)
hombre(Sócrates)= True (Sócrates es un hombre)
De lo que el sistema puede deducir mediante implicación lógica que mortal(Sócrates)=True (Sócrates es mortal). Esta clase de sistemas llegaron a utilizarse con éxito en campos como el diagnóstico de enfermedades infecciosas en la sangre. No obstante, en general este tipo de sistemas de IA resultaban ser difíciles de construir, dado que es necesario contar con expertos en la materia con los que colaborar para formalizar su conocimiento y métodos de trabajo en reglas formales. Así mismo, su mantenimiento y actualización a nuevas situaciones implicaba revisar su juego de reglas, una tarea que podía llegar a ser muy costosa en sistemas de gran tamaño.
Por otra parte, en torno a la misma época en la que se descubrían las limitaciones de los sistemas expertos, se llegó a una conclusión inesperada en cuanto al funcionamiento de la inteligencia: que las tareas que a los humanos nos resultan cognitivamente complejas, como los razonamientos matemáticos o la lógica formal, ¡son en realidad muy sencillas de implementar en un computador! Especialmente cuando se comparan contra el desafío de desarrollar una máquina con las capacidades sensoriales y motoras que puede tener cualquier niño con un desarrollo normal. Este hecho se recoge en la famosa paradoja de Moravec, y ha demostrado ser uno de los mayores obstáculos en del desarrollo de la IA: que las habilidades que a nosotros nos resultan intuitivas y naturales son las más difíciles de replicar de manera artificial.
Una alternativa a los sistemas expertos de mayor aplicabilidad práctica y que se ha desarrollado con mucha solidez desde la década de los 80 es el aprendizaje automático o machine learning. En este tipo de IAs la clave radica en recopilar el conocimiento del experto no como una serie de reglas formales, sino como ejemplos que demuestren su forma de actuar. De este modo, podemos compilar una base de datos formada por casos médicos, en la que para cada caso recogemos la información utilizada el experto médico para su examen (constantes, analíticas, etc…), así como su diagnóstico, y el sistema de IA podrá aprender a imitar su forma de proceder. Dentro de este tipo de IA caben toda una variedad de algoritmos que afrontan este problema de aprendizaje empleando diferentes aproximaciones estadísticas: vecinos próximos, árboles de decisión, métodos de ensemble, máquinas de vectores de soporte, y muchos otros más.
Uno de los métodos que ha destacado especialmente durante la última década han sido los basados en redes neuronales artificiales, hoy día también conocidos como Deep Learning. Aunque en realidad este tipo de IAs llevan en desarrollo desde incluso antes de que se acuñara el término “inteligencia artificial”, no fue hasta 2010 y años posteriores cuando se descubrieron las estrategias clave para poder construir sistemas de esta clase a gran escala: de ahí el calificativo “Deep”.
En esencia, las redes neuronales son un subtipo del aprendizaje automático, en el que una serie de neuronas artificiales imitan superficialmente el comportamiento de una neurona real, y se encargan de realizar la tarea del aprendizaje en base a los datos. Su principal ventaja frente a otros modelos de aprendizaje automático es su flexibilidad, ya que pueden construirse redes desde unas decenas de neuronas hasta miles de millones, escalando así su capacidad para aprender de bases de datos de tamaño masivo.
Además, esta flexibilidad del Deep Learning ha permitido a los investigadores en IA desarrollar “neuronas” especializadas en el tratamiento de datos no estructurados: imágenes, vídeos, textos, audio, etc… si bien esta clase de redes neuronales artificiales cada vez están más alejadas de la biología real, han demostrado ser tremendamente prácticas para abordar problemas muy complejos como son la detección de objetos de interés en imágenes (ej: personas, coches, …), la traducción automática entre idiomas, o la síntesis de voz. Con este hito se ha logrado abordar de manera muy efectiva la clase de desafíos sobre los que la paradoja de Moravec nos alertaba: aquellos que nos resultan intuitivos a nosotros, pero de difícil implementación en una máquina.
¿Y qué podemos decir de estos últimos años? Sin duda, el avance más significativo en IA ha venido de la mano de los modelos base o foundation models. Se trata de un paso más en las redes neuronales artificiales, en el que redes de inmenso tamaño aprenden a modelar la dinámica de un proceso complejo mediante el análisis de bases de datos masivas.
Por ejemplo, un modelo base del lenguaje español es aquel que aprende cómo se estructura el idioma español y cómo suele usarse, mediante el procesado de gigabytes de textos escritos en este idioma. Este modelo no persigue un objetivo concreto, más allá de asimilar la estructura del lenguaje. Pero precisamente por eso puede alimentarse de cualquier texto escrito en el idioma, sin necesidad de que este haya sido preparado y validado por un experto, abriendo así la puerta a que la red neuronal pueda aprender de… básicamente todo el material que podamos suministrarle de Internet.
La pregunta que surge entonces es, ¿y para qué sirve un modelo así, si no tiene un objetivo práctico concreto? Pues porque como indica su nombre, sirven como base para crear modelos que apliquen a tareas concretas.
Por ejemplo, un modelo base del lenguaje español puede reajustarse a la tarea de analizar las emociones expresadas en un tweet, usando un conjunto de datos de tamaño medio con ejemplos de cómo hacer esta tarea. La ventaja de esta aproximación respecto de crear una red neuronal nueva que aprenda directamente de los datos es que el modelo base adaptado tendrá una efectividad mucho mayor, y requerirá de un juego de datos más pequeño para aprender a realizar su tarea. El motivo es que el modelo base ya conoce cómo se estructura el lenguaje español, y ahora solo le queda aprender cómo extraer la emoción de un texto en español.
Puede que los modelos base nos suenen a algo extraño, pero lo cierto es que están detrás de las IAs más famosas en la actualidad: GPT-3, ChatGPT, GPT-4, DALL-E 2, Stable Diffusion, … todas ellas utilizan de alguna manera u otra este concepto, y nos demuestran cómo aprender de fuentes de datos a tamaño Internet nos lleva a un tipo de Inteligencia Artificial muy superior a los vistos hasta ahora.
Con todas estas IAs a la carrera, demostrando resultados cada vez más impresionantes, la pregunta que cabe hacerse es: ¿qué podemos esperar a partir de ahora? Internet es una fuente masiva de información, pero al mismo tiempo es limitada cuando se compara con la percepción que los humanos tenemos del mundo. Los estudios sobre modelos base han demostrado que a mayor número de datos podemos observar, mayor es la capacidad del sistema de IA resultante. Por tanto, el siguiente paso natural sería permitir que estos sistemas puedan aprender también de observaciones que hagan del mundo real, y más aún, que consigan a través de su propia experiencia. Este es el objetivo del aprendizaje por refuerzo profundo o deep reinforcement learning, el cual persigue que una red neuronal artificial pueda experimentar con su entorno y mejorar en una tarea a base de observar los resultados de sus experimentos.
Un ejemplo de este tipo de Inteligencia Artificial es AlphaZero, la cual consiguió alcanzar un rendimiento sobrehumano en el juego de tablero Go en tan solo 24 horas de aprendizaje, u OpenAI Five, que logró derrotar al equipo campeón del mundo en el e-sport DOTA2. Y fuera del mundo de los juegos, se han aplicado incluso para mejorar el control de un reactor experimental de fusión nuclear. ¿Será este el siguiente paso en la evolución de la IA? Aunque hoy día son sistemas muy costosos y complejos de aplicar en proyectos prácticos, alguna de las ideas que subyacen a su funcionamiento ya han sido incorporadas en ChatGPT y GPT-4, por lo que la tendencia parece clara.
Temática
Big Data
Tiempo de lectura
3 minutos
¿Qué es el Big Data?
Aplicaciones
Formación
Salidas profesionales
El futuro del Big Data
El Big Data es uno de los temas más relevantes en el ámbito tecnológico en la actualidad. Este término se refiere a la gran cantidad de datos que se generan a diario y que son analizados para extraer información valiosa, mediante el uso de tecnologías que permiten su gestión y análisis de forma masiva. Los datos provienen de diversas fuentes, como las redes sociales, los dispositivos móviles, los sensores, entre otros. La capacidad de procesar y analizar esta información, en muchos casos en tiempo real, es lo que hace que el Big Data sea tan importante actualmente.
En este artículo Alejandro Vaca (Data Scientist en Instituto de Ingeniería del Conocimiento (IIC)) nos va a hablar sobre la importancia del Big Data y su recorrido hasta el día de hoy.
El impacto del Big Data en nuestras vidas es innegable. Muchas de las aplicaciones que utilizamos en nuestro día a día, desde redes sociales hasta aplicaciones de transporte o compras en línea, se basan en el análisis de grandes cantidades de datos para personalizar su oferta y mejorar la experiencia del usuario. Por ejemplo, cuando utilizamos una aplicación de transporte, el Big Data se utiliza para analizar las rutas más eficientes y predecir el tiempo de llegada con precisión.
Otro ejemplo es el sector de la salud, donde el análisis de datos masivos permite a los profesionales médicos personalizar los tratamientos y las intervenciones para cada paciente, lo que se traduce en mejores resultados y una mayor eficacia. También es posible detectar patrones y tendencias en el comportamiento de los pacientes, lo que puede ayudar a prevenir enfermedades y mejorar la atención médica.
Formarse en el ámbito del Big Data es fundamental para poder aprovechar al máximo su potencial. Actualmente existen numerosos cursos, grados, diplomas y programas de postgrado enfocados en el análisis de datos masivos, lo que permite a los profesionales adquirir habilidades y conocimientos específicos para trabajar en este campo. Es importante mencionar que el Big Data no sólo requiere habilidades técnicas, sino también habilidades de análisis y pensamiento crítico para poder extraer información valiosa de los datos. Un centro de excelencia en este sentido es Datahack, un centro de formación especializado en el ámbito del Big Data y el Data Science.
El campo del Big Data ofrece múltiples salidas profesionales, ya que es una herramienta fundamental en diversos ámbitos, como la salud, el comercio electrónico, la seguridad, la educación, entre otros. En el comercio electrónico, el Big Data se utiliza para analizar el comportamiento de los consumidores y personalizar las recomendaciones de productos y servicios. En la seguridad, el Big Data se utiliza para analizar grandes cantidades de información de seguridad y predecir posibles amenazas y riesgos. En la educación, el Big Data se utiliza para analizar los resultados de los estudiantes y personalizar la enseñanza para adaptarse a las necesidades de cada uno.
La importancia del Big Data continuará creciendo en el futuro próximo. Cada vez se generan más datos y se espera que en los próximos años se produzca un aumento exponencial en la cantidad de información que se recopila. Además, la capacidad de analizar y procesar grandes cantidades de datos se está volviendo cada vez más importante en el mundo empresarial y gubernamental. Por lo tanto, es fundamental que los profesionales se formen en el campo del Big Data, pues el impacto y la presencia de estas tecnologías en la vida de las personas irá en aumento.
En conclusión, el Big Data es un tema de gran relevancia en la actualidad y su importancia continuará creciendo en el futuro. Formarse en este ámbito ofrece numerosas oportunidades profesionales y permite aprovechar al máximo su potencial para mejorar diversas áreas de la sociedad. Además, el Big Data tiene un impacto directo en nuestras vidas y en la forma en que interactuamos con el mundo que nos rodea. Desde las aplicaciones móviles hasta la atención médica personalizada, el análisis de grandes cantidades de datos nos permite tomar mejores decisiones y mejorar nuestra calidad de vida.
Alejandro Vaca (Data Scientist en Instituto de Ingeniería del Conocimiento (IIC))
linkedin.com/in/alejandro-vaca-serrano/
¡Si te ha gustado el contenido de este artículo no te olvides de suscribirte a la newsletter!
En este artículo creado por Pablo Sainz de Vicuña, profesor de visualización de datos en el master de Big Data &Analytics de datahack, conoceremos de su propia mano la herramienta Tableau:
Tableau es una herramienta de visualización de datos líder del mercado que se caracteriza por su fácil aprendizaje, es muy sencillo comenzar a extraer información con ella y representar los datos de forma eficiente. Además permite jugar con los datos de origen pudiendo crear tus propios campos calculados, dicho código también resulta bastante sencillo de codificar y de aprender
Me gustaría compartir un proyecto que realicé cuando comencé a trabajar con Tableau que me dio la oportunidad de combinar dos de mis aficiones, el Golf y la Visualización de datos. Seguro que todos habéis oído hablar de un torneo de Golf en el que el premio es una chaqueta verde, pues bien, este torneo es el más prestigioso del mundo y se llama Masters de Augusta.
Mi idea consistía en crear un cuadro de mando que nos permitiese explorar la clasificación así como los jugadores, los hoyos y los golpes realizados. Una idea ambiciosa por dos grandes motivos, primero, mi desconocimiento de la herramienta, la había utilizado en el master y poco más, y segundo, de donde sacaría los datos.
El primero de los problemas se podía solventar a base de trabajo, investigación y perseverancia, el segundo…es más complicado, estuve buscando bases de datos pero nunca encontré nada que se asemejara a los que buscaba por lo que si quería llevar a cabo mi proyecto tendría que conseguir los datos por mí mismo. Para ello podía ponerme a escribir los datos a mano, algo imposible e ineficiente, o podía utilizar una de las técnicas que aprendí durante el master, web scrapping, esta técnica consiste en sacar la información de una página web aprovechando el código HTML de la misma.
Visité la página oficial del torneo y comprobé que podía extraer toda la información de ella, por ejemplo, la siguiente imagen muestra la clasificación:
Y su código es el siguiente:
Podemos ver que esta página tiene una estructura que podemos aprovechar y llegar al dato que necesitamos, si nos fijamos en la línea sombreada en azul aparece el nombre del jugador en la segunda línea de la clasificación, así como sus valores en las líneas siguientes.
Localizada la fuente de datos ahora tocaba empezar a trabajar, no soy ningún experto en la programación pero si algo había aprendido durante el master de datahack era a investigar. Encontré una librería que nunca había utilizado de web scrapping llamada “Selenium” y comencé a hacer pruebas en un notebook de jupyter utilizando python como lenguaje. Pronto empecé a ver resultados satisfactorios ya que obtuve mucha información rápidamente.
Este es es script que utilicé para obtener los jugadores:
En él se puede ver que primero buscaba el listado de jugadores para después recorrer este listado con cada jugador y obtener sus datos (Player ID, Nombre, Altura, Peso, Edad, Pais, Descripción y Mejor resultado).
También aprovechamos la web para descargar las imágenes de los jugadores y de los hoyos para poder utilizarlas en nuestro cuadro de mando.
Más sencillo resultó el script para extraer la información de los hoyos:
Para cada hoyo obtenemos su Número, Nombre, Par (golpes con los que se debería hacer el hoyo), Distancia y Descripción.
Por último faltaba obtener cada golpe realizado por cada jugador, este script requirió más trabajo ya que el código resultaba más complejo, su tiempo de ejecución era muy elevado y afinarlo fue bastante tedioso, pero finalmente logré el dataset que buscaba:
De cada golpe obtuve el PlayerID, Ronda, Golpe, Distancia, Unidad de distancia, Distancia al hoyo, Unidad de distancia al hoyo, X, Y, X Origen, Y Origen. ¡Ya tenía todo lo necesario para representarlo en Tableau!
Lo primero al entrar en Tableau es crear la fuente de datos, en este caso resultó bastante sencilla debida a la labor previa que hicimos con la extracción en Python.
Simplemente unimos la tabla principal Golpes con Jugadores y Hoyos.
Utilizando la función de pivotar en la fuente de datos conseguimos juntar los puntos X e Y de origen y destino en una misma medida pudiéndolos diferenciar mediante una dimensión Origen/Destino. Esto iba a resultar imprescindible para el gráfico principal del dashboard, el shottracker.
SHOT TRACKER
La construcción del gráfico principal resultó bastante compleja, una vez resuelto el problema de unificar el origen y destino de las coordenadas en la fuente la construcción del gráfico no resulta demasiado compleja.
La hoja está compuesta por un gráfico de puntos y un gráfico de líneas en eje doble con la ronda en color, el tiro en texto, el jugador y el hoyo en detalle.
Lo que faltaba era conseguir cambiar la imagen del hoyo dinámicamente en función de la selección realizada. Para ello encontré una solución que consistía en editar las imágenes en segundo plano del el menú de Mapa.
Una vez dentro se creaban todas las imágenes una a una incluyendo un filtro personalizado en el que seleccionábamos el hoyo correspondiente.
Conseguir esta hoja me llevó una enorme labor de investigación para replicar todos los efectos deseados.
CLASIFICACIÓN
A simple vista no parece una gráfica muy compleja. Es un mapa de calor que cuenta los golpes por ronda de cada jugador. La dificultad vino de conseguir que ese cálculo fuese correcto, en esa etapa no sabía manejar las expresiones en nivel de detalle que ofrece Tableau, estas expresiones son parecido a subconsultas que se pueden hacer a la fuente de datos original para fijar el valor en una dimensión. Son unos de los conceptos más complejos de Tableau y comprenderlos lleva su tiempo, pero necesitaba utilizarlos así que tocaba de nuevo investigar y probar hasta conseguir el resultado deseado, finalmente lo conseguí con un campo calculado que a día de hoy tardaría segundos en hacer pero que en aquel momento me pudo llevar un par de días de prueba y error.
Para conseguir el color también necesite otros campos calculados:
PANEL DE JUGADOR SELECCIONADO
En función del jugador que se selecciona en el panel de clasificación cambia el panel del jugador con su nombre y su foto.
Este efecto requiere un trabajo bastante laborioso por detrás, primero hay que tener todas las imágenes guardadas en una carpeta dentro de la siguiente ruta:
C:\Users\My_User\Documents\Mi Repositorio de Tableau\Formas
Al reiniciar Tableau veremos que si creamos un gráfico de formas nos ofrece las que están dentro de la carpeta recién creada. Después hay que asignar manualmente cada foto a cada jugador.
Crear la gráfica es sencillo ya que únicamente requiere incluir los jugadores en Forma y mediante una acción de filtro en el dashboard conseguimos ver únicamente el jugador seleccionado.
En el tooltip del jugador podemos ver otros cálculos interesantes como la máxima distancia del drive y su promedio.
El número de greenes cogidos, se considera el número de golpes que se deberían dar para llegar al Green, en un par 4 serían dos golpes; para calcular esto nos basamos en las unidades que nos ofrece el dataset:
Si el golpe tiene una distancia en yardas es un golpe desde fuera de Green, mientras que si están en pies o pulgadas es un Putt.
Siguiendo esta lógica también se calcula el número de putts por ronda realizados. Una vez construidas las hojas monté todo en el dashboard de incluí las acciones de filtro necesarias para que todo respondiese correctamente.
Creo que lo más interesante de este proyecto es lo mucho que aprendí de Tableau partiendo desde cero, buscando ejemplos que me sirviesen a mi dashboard, utilizando fórmulas que nunca había realizado, queriendo crear gráficas que no sabía hacer, y pudiendo juntar dos de mis pasiones todo se hace más fácil.
Pablo Sainz de Vicuña Data Analyst Senior en Inetum • Profesor Visualización en datahack school •
linkedin.com/in/pablo-sainz-de-vicuna
¡Si te ha gustado el contenido de este artículo no te olvides de suscribirte a la newsletter!
En este artículo creado por José Manuel Sanz Candales , vamos a conocer qué es el DLR.
Los gestores de las redes eléctricas de transporte y distribución deben tener en cuenta los valores de capacidad de sus líneas eléctricas para cumplir con las normas establecidas al respecto. Tradicionalmente se han utilizado valores constantes estacionales, pero el avance de la tecnología está haciendo evolucionar estos valores hacia el cálculo dinámico de la capacidad de las líneas (DLR).
El DLR (Dynamic Line Rating) se basa en la estimación en tiempo real de la capacidad de las líneas de transporte de energía eléctrica (CdT), en función de distintas variables medibles (condiciones climáticas, medidas de temperatura del conductor en tiempo real, flecha del vano, etc.) así como su previsión para períodos futuros. En contraposición se encuentra el uso de una CdT estacional, con variables climatológicas fijas en cada estación, que, por lo general, resulta más conservadora, y que es la que se ha venido utilizando de manera generalizada en la actualidad.
Simplificadamente, hacer DLR consiste en predecir o calcular la intensidad máxima que puede transportar una línea en un periodo de tiempo determinado, atendiendo al valor de ciertas variables ambientales instantáneas, respetando en todo momento los límites térmicos de la instalación, y, en consecuencia, garantizando las distancias de seguridad establecidas en los reglamentos, sin provocar en la instalación ni una degradación ni un envejecimiento prematuro, al ser siempre las condiciones de funcionamiento coherentes con límites técnicos, como puede ser el fenómeno de recocido en los materiales.
La CdT de una línea aérea vendrá marcada por el vano (tramo entre dos apoyos consecutivos) que primero incumpla los límites mencionados anteriormente. En consecuencia, operar líneas con DLR significa estimar y monitorizar las condiciones de la línea a lo largo de todo su trazado, realizar un tratamiento de la información para determinar la intensidad máxima admisible en cada instante, así como establecer modelos de previsión que permitan predecir los valores estimados de capacidad de transporte para las próximas horas u otros horizontes de más largo plazo.
Para disponer de una predicción de capacidad de transporte, es necesario disponer de predicciones de variables medioambientales. De estas variables, la que más impacto tiene por su variabilidad e influencia es el viento. Obtener previsiones de viento con precisión suficiente es complejo y la Inteligencia Artificial puede ser de gran ayuda en este ámbito. Adicionalmente, dado que el viento es uno de los mayores problemas de la red de transporte en cuanto a averías graves por caída de torres y conductores, una estimación precisa y con antelación suficiente, ayudará también tanto en la optimización del diseño de apoyos como para predecir posibles afecciones por cambio en condiciones ambientales o de comportamiento de las supuestas en históricos.
Para entrenar estos modelos de IA, se requiere disponer de datos históricos de estaciones meteorológicas que recojan los valores reales en determinados puntos de las líneas eléctricas. Adicionalmente, la recepción de los datos de dichas estaciones meteorológicas en tiempo real (mediante uso de IoT) en los sistemas de predicción, permite utilizarlas para realizar predicciones más precisas en los primeros horizontes (< 6 horas) utilizando, por ejemplo, Redes Neuronales Recurrentes.
Jose Manuel Sanz Candales
Científico de Datos - Departamento de Modelos para la Operación del Sistema en Red Eléctrica
linkedin.com/in/jose-manuel-sanz-candales-96b801144
@Candales_Jose
¡Si te ha gustado el contenido de este artículo no te olvides de suscribirte a la newsletter!
En este artículo creado por Rafael Garrote Hernández, vamos a conocer más a fondo el Snowflake.
El ecosistema de almacenes de datos está en continuo crecimiento y cada poco oímos de un nuevo miembro de la familia. En este caso quiero hablaros de Snowflake, que recoge la tradición de las bases de datos específicas para crear un data Warehouse y la actualiza para adecuarse a los tiempos que imperan, haciéndola nativa al cloud, con capacidades para gestionar grandes volúmenes de datos y con capacidades de procesamiento en streaming.
Snowflake, como su propio nombre indica, es una base de datos pensada para albergar los modelos de datos dimensionales tradicionales de un data warehouse, copo de nieve, data mart, pero además permite adecuarse a las necesidades para crear modelos más actuales como data vaults o data hubs. Sus principales características son que está diseñada para trabajar de forma nativa en los principales proveedores de infraestructura y que separa la capa de almacenamiento de datos de la capa de procesamiento de datos. Son precisamente estas dos características las que hacen que Snowflake pueda gestionar volúmenes de datos mucho más grandes que sus predecesoras. Vamos a ver sus características más en detalle.
Arquitectura
Snowflake está diseñada en una arquitectura con tres capas; la capa de almacenamiento que se encarga de persistir el dato y gestionar las micro particiones, una capa de procesamiento de datos independiente al resto organizada en clusters aislados de máquinas que trabajan sobre el conjunto de datos y por último la capa de servicios cloud entre los que encontramos la autorización, la gestión de la infraestructura, gestión de metadatos, control de accesos, seguridad y parseo y optimización de consultas.
Almacenamiento de datos
Como capa de almacenamiento Snowflake utiliza el sistema de almacenamiento del proveedor de infraestructura, AWS S3, Azure Blob Storage y Google Cloud Storage respectivamente. De esta manera, podemos utilizar estos almacenamientos como capa de staging desde la que cargar los datos de forma sencilla en Snowflake.
Permite almacenar tanto datos estructurados como semiestructurados y con soporte nativo para formatos abiertos de datos: JSON, XML, CSV, Avro, Parquet, ORC, etc.
El almacenamiento está orientado a columnas lo que la hace idónea para ejecutar trabajos de tipo analítico tradicionales de un data warehouse y además permite particionado de las tablas.
Y por último es transaccional y ACID, dos características muy valiosas y que no encontramos en todos los competidores.
Micro Particionado
Snowflake basa su almacenamiento en lo que él denomina micro particiones que gestiona de forma automática y transparente para el usuario. Las tablas se particionan de forma transparente utilizando el orden de carga o inserción de los datos creando particiones de 50 a 500 MB.
Para esas consultas que necesitan más rendimiento o para gestionar volúmenes de datos más grandes, Snowflake nos permite modificar el comportamiento por defecto del micro particionado y gestionar estas particiones para optimizar las consultas sobre conjuntos de datos más grandes especificando la clave de particionado con la cláusula CLUSTER BY tanto al crear la tabla como al modificarla. De esta manera podremos indicar qué campo o campos queremos utilizar como clave de particionado para crear unas particiones acordes al patrón de acceso al dato optimizando por tanto el rendimiento de las consultas.
Time travel
El almacenamiento de datos de Snowflake permite indicar un tiempo de retención a los datos entre 1 y 90 días, de tal forma que se puede consultar el estado de los datos en un punto anterior en el tiempo, por ejemplo, antes de que hayan sido modificados o borrados. También permite clonar o recuperar tablas en un punto en concreto en el pasado, incluso si se han borrado.
Adicionalmente al tiempo de retención del time travel, se le puede indicar a Snowflake un tiempo adicional de como máximo 7 días, en los que guardará los datos de las tablas para poder recuperarse de fallos eventuales. Estos datos sólo son recuperables por Snowflake y no se pueden consultar hasta su recuperación. Este tiempo de fail-safe empieza a contar justo después de que termine el tiempo de retención del time travel.
Capa de computación
Como se ha indicado antes, la capa de procesamiento está separada de la capa de almacenamiento y consta de uno o varios clusters de máquinas encargados de realizar las tareas de cómputo sobre los datos. Estos clusters se denominan Virtual Warehouses y podemos crear tantos como necesitemos. Idealmente crearemos uno por tipología de procesos que realicemos sobre los datos. Por ejemplo podemos tener un Virtual Warehouse para realizar las tareas de ETL y otro para los procesos de ciencia de datos. De esta manera garantizamos los recursos necesarios para cada uno de estos procesos ya que los Virtual Warehouses no comparten recursos entre sí.
Estos clusters se pueden configurar para que crezcan o decrezcan de forma elástica según la demanda de carga en cada momento y además se pueden auto suspender y reiniciar según las necesidades para hacer una correcta gestión de los recursos y del coste de la infraestructura.
Snowflake no sólo está pensada para ejecutar sentencias de consulta, sino que al igual que sus predecesoras, permite realizar procesos de Extracción Carga y Transformación (ELT) para realizar las transformaciones de los datos e integrarlos en el modelo dimensional creado. Para ello permite encadenar las sentencias para ejecutarlas en un orden específico y bajo ciertas condiciones.
Cada sentencia SQL es una tarea o task y estas task se pueden encadenar formando un árbol de ejecución. Este árbol representa el pipeline de ejecución de una ELT. Una Task se puede programar para ser ejecutada de forma periódica o como consecuencia de una Task anterior. Esto que permite encadenar Task en función del resultado anterior en lo que se denomina Tasks condicionales.
Adquisición o ingesta de datos
Para ingestar datos en Snowflake, esta hace uso del almacenamiento de datos nativo del cloud, así por ejemplo en AWS S3, dejaríamos los ficheros con el dato en bruto a ingestar en un bucket de S3. Indicaremos a snowflake que use ese bucket como staging, creamos la tabla que alojará estos datos y le decimos a Snowflake que copie los datos del staging a la tabla. Una vez que los datos ya están en Snowflake podemos crear los pipelines necesarios para transformar e integrar el dato según nuestras necesidades.
Además de este procesamiento de datos por lotes o en batch, Snowflake provee de un mecanismo para la ingesta de datos en streaming y/o tiempo real que denomina Snowpipe.
Snowpipe permite quedarse escuchando un fichero de la capa de almacenamiento de la infraestructura, por ejemplo AWS S3 y cada nueva inserción en este fichero, automáticamente se insertarla en la tabla de destino. Otra opción es utilizar el conector de Kafka que permite conectar Snowflake a Kafka para consumir los mensajes que se vayan almacenando en los topics de Kafka.
Junto con estos mecanismos de ingesta en streaming, Snowflake dispone de un conjunto de operaciones de ventana para poder realizar operaciones de transformación y cálculo en streaming.
A parte de todas estas funcionalidades Snowflake provee las siguientes capacidades:
Por todo lo que hemos visto en este artículo Snowflake moderniza los sistemas de bases de datos tradicionales para data Warehouses, actualizándose a las necesidades actuales del mercado convirtiéndose en una tendencia al alza sobre todo si se busca una alternativa que te independice del proveedor de infraestructura considerándola una alternativa a tener en cuenta a la hora de diseñar nuestro sistema informacional.
¡Si te ha gustado el contenido de este artículo no te olvides de suscribirte a la newsletter!