La usabilidad de los datos, su calidad, el almacenamiento, el procesamiento, la inteligencia, las estadísticas, la visualización … Trabajar con grandes volúmenes de datos implica un amplio rango de competencias que, a día de hoy, son muy difíciles de encontrar.
Atendiendo a los argumentos de Mike Loukides , el primer peldaño de todo análisis de datos es el acondicionamiento de los datos, es decir, dar a los datos la cualidad de ser usados. Vemos, con bastante frecuencia, formatos de datos fáciles de consumir, sin embargo aún persisten ( y seguirán existiendo) numerosas fuentes de “datos salvajes” y extremadamente dispersos. El acondicionamiento incluye, por ejemplo, la limpieza del desorden en HTML con Beatiful Soup. Pero, para realizar un acondicionamiento de datos, hay que estar preparados para lo que pueda venir y estar dispuestos a usar desde utilidades de Unix como awk para analizadores XML y librerías de “machine learning”. Lenguajes scripting como Perl o Python son esenciales.
Una vez analizados los datos podemos comenzar a pensar en la calidad de esos datos.
Volvemos de nuevo al concepto de Big Data para entender la dimensión de la captura, acondicionamiento, almacenamiento o posterior procesamiento de datos . En la actualidad, para almacenar enormes cantidades de datos de forma efectiva han surgido nuevas variedades de bases de datos como NoSQL o Non_Relational database. Estas variedades son la lógica descendencia de Google´s Big Tables y Amazon´s Dynamo. Hay numerosos productos disponibles, pero los líderes son Cassandra y HBase ( que parten del proyecto Hadoop que es una implementación opensource de MapReduce).
Pero el almacenamiento de datos es sólo una parte de una plataforma de datos. Los datos sólo serán útiles si es posible hacer algo con ellos y hay una gran cantidad de “datasets” que presentan problemas de computación. Para conseguir el reto de procesar grandes conjuntos de datos, Google creó MapReduce. El framework de MapReduce es el motor que está detrás de los procesamientos de datos actualmente. Pero ha sido el desarrollo Hadoop Map Reduce, por parte de Yahoo, lo que ha propiciado un ecosistema de herramientas de procesamiento de grandes volúmenes de datos.
En opinión de Loukides:
“Hadoop es mucho más que una simple implementación de MapReduce, es el componente clave de una plataforma de datos. Incorpora HDFS, un sistema de ficheros distribuido diseñado en función de los requisitos de rendimiento y fiabilidad de los enormes “datasets”; la base de datos HBase, que permite a los desarrolladores explorar Hadoop “datasets” utilizando SQL-like queries, un lenguaje de flujo de datos de alto nivel llamado “Pig”, y otros componentes”.
Machine Learning
Machine learning es otra herramienta esencial para la Ciencia de Datos.
El 14 de febrero de este año, y durante tres noches consecutivas, la computadora Whatson de IBM jugó contra dos de los más brillantes campeones de Jeopardy (concurso cultural de la televisión americana. El concursante tiene que responder con una pregunta a una serie de pistas). La máquina era capaz de responder en menos de tres segundos ejecutando miles de tareas complejas simultáneamente. Esto es Machine Learning .
Según Alasdair Allan:
“Lo interesante, ahora, sobre Machine Learning en que las investigaciones se están produciendo de forma muy silenciosa, en parte porque las grandes corporaciones están atadas por acuerdos de confidencialidad. Si bien existe una gran cantidad de literatura académica sobre el tema, en realidad es difícil saber si es esta investigación abierta se está produciendo. Machine Learning es un reflejo del desarrollo de la investigación en criptografía de mediados del siglo XX. Gran parte de la investigación de vanguardia se llevó a cabo en secreto. Es ahora , 40 o 50 años más tarde, estamos descubriendo lo que GCHQ o la NSA estaba haciendo”.
Según Max Lin :
«En Google los investigadores de Machine Learning desarrollan algoritmos de computación que mejoran el rendimiento de forma automática a través de la experiencia. Machine Learning se aplica para resolver muchos problemas, por ejemplo para dar prioridad a mensajes de correo electrónico en Gmail, recomendar etiquetas para videos de YouTube o la identificación de diferentes aspectos en las opiniones online de los usuarios».
No obstante Lin apunta que Machine Learning en Big Data es un gran reto: «Algunos algoritmos simples se ejecutan bien en cientos de registros pero son impracticables en miles de millones». Para el desarrollo de sistemas de Machine Learning a gran escala Google dispone de GFS y MapReduce.
Comentar también que Google está implementado un sistema inteligente de publicidad basado en Machine Learning. Podrá predecir el abandono de anunciantes y, por tanto, prevenirlo.
Pero, demos un paso más. En abril de este año Google compró ITA Software (empresa especializada en datos de compañías aéreas). Para anunciar esta adquisición Jeff Huber, Vicepresidente Senior publicó un post en el que decía: “Cómo sería de guay si al buscar “vuelos a algún lugar soleado por menos de 500 dólares en mayo”, Google no sólo mostrara los enlaces sino también los horarios, tarifas y el vínculo para la compra de los billetes de forma rápida y sencilla” … Esto es Web Semántica, también denominada wed de datos o web 3.0…Machine Learning.
La Estadística y la visualización
La construcción de modelos estadísticos juega un papel importante en cualquier análisis de datos. De acuerdo con Mike Driscoll, la estadística es la «gramática de la Ciencia de los Datos.» Es crucial para hacer que los datos hablen coherentemente. La Estadística, por tanto, se ha convertido en un conocimiento básico para la Ciencia de los Datos. No se puede decir que haya sido sustituida por las nuevas técnicas de Machine Learning u otras disciplinas, es un complemento.
Para el trabajo estadístico, es esencial el uso del paquete de software libre R language, y su arquitectura CRAN .
El problema con los algoritmos de la mayoría de los análisis de datos es que generan un conjunto de números difíciles de entender o interpretar. Para compreder lo que los números significan, la historia que están contando, es necesario generar un mapa, un gráfico. La visualización es esencial para cada estadio de la Ciencia de Datos. Para Martin M. Wattenberg la visualización es el primer paso del análisis: “si quieres adivinar cómo son de malos tus datos, píntalos”.
Hay numerosos sistemas que permiten mapear y presentar datos: GnuPlot, Processing o Many Eyes. El blog de Nathan Yau, FlowingData es el mejor sitio para visualizar gráficos de datos.
Social Web
Es importante reseñar, también, las técnicas de la comprensión de datos de la web social que Matthew Russell ha plasmado en su libro “Mining the Social Web”. Un libro que enseña a combinar los datos de la web social (incluyendo eMails y blogs), las técnicas de análisis y la visualización.
Para realizar estas tareas es necesario disponer de conocimientos de programación y la voluntad de aprender Python.
El temario incluye:
Para gestionar y compartir códigos, Russell recomienda el uso de GitHub, un repositorio social que permite clonar códigos, mejorarlo, modificarlo y a continuación compartirlo, de nuevo, con el resto del mundo.
En próximo capítulo es: El Científico de Datos (BD IIII).
[…] El trabajo con los datos y las herramientas (BDIII) […]
Hola Soraya,
Felicidades por el artículo. Resulta muy motivador ver como la visualización de información despierta un creciente interés.
Sólo quería hacerte una pequeña puntualización respecto a R y CRAN. CRAN son las siglas de Comprehensive R Archive Network y es, tal y como dicen en su web:
«CRAN is a network of ftp and web servers around the world that store identical, up-to-date, versions of code and documentation for R.»
Por tanto, CRAN no es una librería de R, sino parte de su arquitectura.
http://cran.r-project.org/
PD: Ánimo con el grupo de trabajo!
Saludos
Alberto
Alberto
Muchas gracias por la puntualización!!! Yo no tengo perfil técnico, soy periodista y , de veras, lo agradezco.
Saludos