Big Data Analytics: herramientas de análisis de datos

Existe una variedad de herramientas que permiten a un científico de datos analizar datos de manera efectiva. Normalmente, el aspecto de ingeniería del análisis de datos se centra en las bases de datos, mientras que el científico de datos se centra en herramientas que pueden implementar productos de datos. La siguiente sección analiza las ventajas de las diferentes herramientas con un enfoque en los paquetes estadísticos que los científicos de datos utilizan en la práctica con mayor frecuencia.

Lenguaje de programación R

R es un lenguaje de programación de código abierto con un enfoque en el análisis estadístico. Es competitivo con herramientas comerciales como SAS, SPSS en términos de capacidades estadísticas. Se cree que es una interfaz para otros lenguajes de programación como C, C ++ o Fortran.

Otra ventaja de R es la gran cantidad de bibliotecas de código abierto disponibles. En CRAN hay más de 6000 paquetes que se pueden descargar gratis y enGithub hay una amplia variedad de paquetes R disponibles.

En términos de rendimiento, R es lento para operaciones intensivas, dada la gran cantidad de bibliotecas disponibles, las secciones lentas del código están escritas en lenguajes compilados. Pero si tiene la intención de realizar operaciones que requieran escribir bucles for profundos, entonces R no sería su mejor alternativa. Para fines de análisis de datos, hay buenas bibliotecas comodata.table, glmnet, ranger, xgboost, ggplot2, caret que permiten utilizar R como interfaz para lenguajes de programación más rápidos.

Python para análisis de datos

Python es un lenguaje de programación de propósito general y contiene una cantidad significativa de bibliotecas dedicadas al análisis de datos, como pandas, scikit-learn, theano, numpy y scipy.

La mayor parte de lo que está disponible en R también se puede hacer en Python, pero hemos descubierto que R es más simple de usar. En caso de que esté trabajando con grandes conjuntos de datos, normalmente Python es una mejor opción que R. Python se puede usar con bastante eficacia para limpiar y procesar datos línea por línea. Esto es posible desde R pero no es tan eficiente como Python para tareas de scripting.

Para el aprendizaje automático, scikit-learnes un entorno agradable que tiene disponible una gran cantidad de algoritmos que pueden manejar conjuntos de datos de tamaño mediano sin problemas. En comparación con la biblioteca equivalente de R (signo de intercalación),scikit-learn tiene una API más limpia y consistente.

Julia

Julia es un lenguaje de programación dinámico de alto nivel y alto rendimiento para informática técnica. Su sintaxis es bastante similar a R o Python, por lo que si ya está trabajando con R o Python, debería ser bastante simple escribir el mismo código en Julia. El idioma es bastante nuevo y ha crecido significativamente en los últimos años, por lo que definitivamente es una opción en este momento.

Recomendaríamos a Julia para la creación de prototipos de algoritmos que son computacionalmente intensivos, como las redes neuronales. Es una gran herramienta de investigación. En términos de implementación de un modelo en producción, probablemente Python tenga mejores alternativas. Sin embargo, esto se está volviendo un problema menor ya que hay servicios web que realizan la ingeniería de implementación de modelos en R, Python y Julia.

SAS

SAS es un lenguaje comercial que todavía se utiliza para la inteligencia empresarial. Tiene un lenguaje base que permite al usuario programar una amplia variedad de aplicaciones. Contiene bastantes productos comerciales que brindan a los usuarios no expertos la capacidad de utilizar herramientas complejas, como una biblioteca de redes neuronales, sin necesidad de programación.

Más allá de la obvia desventaja de las herramientas comerciales, SAS no se adapta bien a grandes conjuntos de datos. Incluso el conjunto de datos de tamaño mediano tendrá problemas con SAS y hará que el servidor se bloquee. Solo si está trabajando con pequeños conjuntos de datos y los usuarios no son científicos de datos expertos, se recomienda SAS. Para los usuarios avanzados, R y Python proporcionan un entorno más productivo.

SPSS

SPSS, es actualmente un producto de IBM para análisis estadístico. Se utiliza principalmente para analizar datos de encuestas y para los usuarios que no pueden programar, es una alternativa decente. Probablemente sea tan simple de usar como SAS, pero en términos de implementar un modelo, es más simple ya que proporciona un código SQL para calificar un modelo. Este código normalmente no es eficiente, pero es un comienzo, mientras que SAS vende el producto que califica los modelos para cada base de datos por separado. Para datos pequeños y un equipo sin experiencia, SPSS es una opción tan buena como lo es SAS.

Sin embargo, el software es bastante limitado y los usuarios experimentados serán órdenes de magnitud más productivos con R o Python.

Matlab, octava

Hay otras herramientas disponibles como Matlab o su versión de código abierto (Octave). Estas herramientas se utilizan principalmente para la investigación. En términos de capacidades, R o Python pueden hacer todo lo que está disponible en Matlab u Octave. Solo tiene sentido comprar una licencia del producto si está interesado en el soporte que brindan.