Fundación iS+D | ismasd@isdfundacion.org | +34 91 630 09 58

Blog

5 Nov 2021

Las herramientas imprescindibles de cualquier data scientist (2)

¿Cuáles son las herramientas computacionales necesarias en Data Science (Ciencia de Datos)? ¿Qué recursos de software y estadísticos puede utilizar un/a profesional y analista de datos?

Tal y como vimos anteriormente en la serie Ciencia de Datos (Data Science) del Blog de la Fundación iS+D, existen multitud de herramientas imprescindibles (materiales, humanas y formativas) para el correcto desarrollo y trabajo de cualquier científico/a de datos (data scientist).

En esta ocasión nos centraremos en las herramientas computacionales que podremos utilizar a la ahora de trabajar en el análisis de datos estadísticos. Esperamos que os resulten de utilidad, siendo preciso señalar que, lejos de pertenecer a ninguna categorización oficial, esta conceptualización y segmentación de conceptos en los distintos tipos de herramientas que ahora veremos se ha realizado para un mejor entendimiento de los utensilios analíticos en la Ciencia de Datos.

Herramientas computacionales

Hablamos de herramientas computacionales cuando nos referimos al conjunto de recursos que provienen generalmente de la ciencia de la computación.

Tal y como vimos anteriormente, la Ciencia de Datos o Data Science es una ciencia que emana de distintas ramas, como son la estadística, la ciencia de la computación y la ciencia o disciplina referente a la temática de aplicación u objeto de estudio. Por ello, se ha llevado a cabo la siguiente subclasificación: herramientas de tipo computacional o de software y herramientas estadísticas.

Herramientas de software

En la actualidad, debido a la rápida transformación y evolución digital que estamos viviendo causada en gran parte por la Tercera Revolución más grande de la historia de la humanidad: La Revolución de Internet –recordemos que para que una revolución pueda ser llamada como tal y como un hecho social, debe ser un movimiento o una serie de movimientos que cambian las estructuras políticas, sociales, económicas y culturales de la población a tratar– (Rosado Millán, 2018), las herramientas computacionales son múltiples, por lo que describiremos aquellas que son más imprescindibles y más funcionales, así como los lenguajes de programación o los entorno de desarrollo en lo referente al software necesario.

Los lenguajes de programación

Tras el auge de la Ciencia de Datos en la década pasada, el despliegue digital en materia de software ha sido bastante elevado. En lo referente a los lenguajes de programación, son una herramienta imprescindible en el proceso.

La ciencia de la computación dispone de múltiples de estos lenguajes. De hecho, se calcula que existen más de 675. Cabe destacar, que muchos de ellos ya no son utilizados, mientras que muchos otros tienen unas aplicaciones específicas o muy específicas, puesto que el mundo de la programación no es solo utilizado en las áreas más habituales de aplicación como son las de infraestructuras de telecomunicaciones, los sistemas de la maquinaria de cualquier tipo o la Ciencia de Datos.

Aunque ramas más cercanas a la Ciencia de Datos como son la Ciberseguridad, el Marketing Digital o Desarrollo Web utilizan también para su desarrollo los distintos lenguajes de programación, cada cual utiliza uno diferente. Mientras que los lenguajes que compartirán entre disciplinas serían principalmente Python y Java, –siendo Python el sistema de codificación más utilizado en la actualidad en la Ciencia de Datos, así como el programa R–, en marketing digital se utiliza los lenguajes de programación HTML y JavaScript para el desarrollo y mantenimiento de las páginas web que gestionan.

Por otro lado, en Desarrollo Web, conocido en gran parte por su aplicación más habitual: el Diseño Web, codifican con JavaScript, PHP, Java, Ruby o C#, siendo esta disciplina la que más variedad de lenguajes utiliza simultáneamente de forma general.

En lo referente al sistema de codificación de la disciplina de la Ciberseguridad, esta es mucho más específica y compleja, pero principalmente programan con Python, las secuencias de comandos de Shell (estas secuencias de comandos podrás reconocerlas fácilmente, pues es la típica ventanita en la que solo se puede observar una pantalla en negro en la que se escribe código y que fue la forma más pura de programar en los orígenes de la programación), HTML, JavaScript y/o SQL.

Ejemplo de una consola para las secuencias de comandos en Shell (iOS)

Fuente: Tudosisdetecnologia.com

Cabe añadir que otros programas necesarios para distintas fases del proceso de implementación de Data Science también utilizan su propia codificación, como por ejemplo SQL y MySQL, siendo plataformas para la gestión, diseño y visualización –entre otras funciones– de bases de datos. Estos programas son utilizados por los/as analistas de datos y científicos/as de datos en sus distintos roles para la preparación y almacenamiento (Mueller y Massaron, 2015).

Por lo tanto y a modo de síntesis, en la Ciencia de Datos se utilizan habitualmente los lenguajes de programación Python y R. Ambos son lenguajes de programación, pero dentro de la Ciencia de Datos se usan para distintas aplicaciones y tienen ciertas diferencias, así como similitudes entre ellos.

En referencia al campo de aplicación; mientras que R es un idioma digital que está orientado específicamente al análisis estadístico y a la Ciencia de DatosPython es utilizado en diversos campos diferentes, además de diversas disciplinas como hemos ido viendo en los párrafos anteriores.

Sin embargo, Python es el favorito para la codificación de la AI o Artificial Intelligence (IA – Inteligencia Artificial) debido a la simplicidad con la que cuenta el/la programador/a en este programa. Cuando pensamos en AI, en muchas ocasiones nos viene a la cabeza la imagen estereotipada de un robot asiático que reproduce el comportamiento humano. Sin embargo, lejos de la realidad, las aplicaciones de la inteligencia artificial son múltiples y no necesariamente tienen que ver con el concepto de robot que puede ser observado en el imaginario social. Una aplicación sencilla de la inteligencia artificial y alejada de esta mirada sería la creación de un algoritmo que predijera la aproximación de las ventas de una empresa en los próximos años o con qué velocidad va a envejecer la población de la España vaciada.

Si hablamos de estos lenguajes de programación en lo que se refiere a objetivos a perseguir y sus cualidadesR tiene un propósito más general, siendo Python más específico para resolver cálculos científicos gracias a lo que en Ciencia de Datos se llama bibliotecas.

Cada lenguaje de programación tiene sus propias librerías; por ejemplo, las librerías más conocidas de Python serían Numpy, Pandas o Pybrain. Mientras que Numpy es una librería en referencia al análisis de datos, Pandas se encarga de la estructuración de bases de datos, entre otros. En lo que a Pybrain respecta, se utiliza en el modelaje para los proyectos de inteligencia artificial. Por otro lado, las librerías de R más conocidas serían dplyr o data.table para la parte analítica de los datos, GGPLOT2 como librería específica orientada a la visualización o randomforest para Machine Learning.

Sin embargo, en lo que respecta a otras cualidades, R es conocido por poder llevar a cabo mejores visualizaciones de información y datos, a pesar de ser un lenguaje más lento que Python.

Los entornos de desarrollo integrado (IDE)

Por otro lado, el o la profesional de la Ciencia de Datos puede utilizar los entornos de desarrollo integrado o entorno de desarrollo interactivo, también conocido como IDE, por sus siglas en inglés: Integrated Development Environment. Se trata de aplicaciones informáticas que concentran los procedimientos y herramientas con el fin de llevar a cabo el desarrollo de un código fuente o programa. Tienen el objetivo de simplificar el proceso integral de la programación.

Ejemplo del entorno de desarrollo llamado Visual Studio Code

Fuente: Wikipedia

Para explicar el concepto de entorno, podríamos hablar de la navaja suiza. Años atrás, era necesario adquirir todas las herramientas por separado, sin embargo, la navaja suiza incluía un cuchillo, un destornillador, una tijera y/o una lima –entre otros–, en el mismo mecanismo. Por tanto, las bibliotecas serían la navaja suiza de los y las programadoras, puesto que no solo pueden cortar con la navaja (codificar con un lenguaje), sino que también son capaces de desatornillar un tornillo (tener un código que realice un cierto cálculo estadístico específico como por ejemplo una media aritmética) o de limar (creación de un algoritmo de automatización de procesos). Y todo en el mismo programa, llamándole a este último entorno de desarrollo.

De la misma manera que el lenguaje de programación Python posee diversas librerías –así como antes ha sido descrito–, podemos programar código Python en múltiples entornos de programación. Entre ellos, los más conocidos serían IDLE, Spyder, PyCharm, VisualStudio, Jupyter Notebook u Oracle VirtualBox. La elección entre uno de ellos dependerá de factores de tipo económico, formativo, entre muchos otros.

Por último, es necesario mencionar a GITHUB, pues se trata de un portal que tiene la finalidad de guardar el código de las aplicaciones de cualquier persona que tenga la habilidad de desarrollar programas. El almacenamiento de los códigos en este programa puede, por un lado, guardar aquellos que se utilicen para uso común. Es decir, dichos códigos pueden compartirse y coordinarse entre sí para desarrollar un proyecto.

Así, GitHub sería la plataforma en la que se pone en conjunto las ramas de trabajo de los distintos desarrolladores de un proyecto de programación. Por otro lado, también puede ser utilizado para consultar distintos tipos de códigos o en última instancia como un perfil en el que demostrar el trabajo que realiza cada programador/a. De hecho, podemos decir que se trata del LinkedIN de los/as programadores/as.

Herramientas estadísticas

Esta categoría no deja de ser de tipo computacional, puesto que son programas que, aunque su base sea estadística, necesitan de la computación para poder existir. Algunos de ellos son conocidos más allá de la disciplina de la Ciencia de Datos como Excel o SPSS.

A continuación, se exponen de forma general y resumida los programas estadísticos utilizados en Data Science. Si bien es cierto que no se ha descrito la totalidad de los mismos, se pretende a lo largo de los siguientes artículos a realizar, profundizar en el resto de ellos y de los conceptos que vienen de la mano.

Por el momento, este es el listado de los principales programas:

Excel

Esta clásica herramienta de Microsoft se utiliza fundamentalmente para el tratamiento y la creación de bases de datos. Fue de los primeros programas utilizados antes de que aconteciera la evolución de la ciencia de datos y el desarrollo de otros software de apoyo como R o Python. Permite el análisis estadístico e incluso los gráficos explicativos de datos. Sin embargo, su forma de codificación no es tan refinada como los anteriores softwares mencionados y además cuenta con la desventaja de tener aplicaciones más limitadas.

SPSS

Muy utilizado también en las Ciencias sociales, como en la Sociología o las Ciencias Políticas, es un software que principalmente se encarga del estudio de las variables cuantitativas. Sirve también para el análisis de datos (como las regresiones lineales o el estudio de variables estadísticas unidimensionales y bidimensionales) y gráficos, siendo capaz de trabajar gran voluminosidad de datos.

SAS

Este programa se creó con el fin de desarrollar productos tras el análisis en el sector agrícola. Utiliza su propio lenguaje de programación y ofrece distintas herramientas y aplicaciones. Las fases de la implementación de un proyecto de Ciencia de Datos podrían llevarse a cabo enteramente con este programa.

Power BI

Es una herramienta de Microsoft que permite llegar desde la importación y limpieza de datos hasta su visualización Business Intelligence (recordemos que se entiende por Business Intelligence al campo de aplicación que se ocupa del análisis de los datos del pasado -Business Analytics- para tomar decisiones en el futuro -plan de Business Intelligence- en el campo de lo empresarial. Cabe añadir que también es posible trabajar con otros ámbitos de aplicación). Esta plataforma contiene un panel de control también conocido como dashboard, que muestra la historia completa de un objeto de estudio o negocio. Cuenta con una función de consulta de los datos en tiempo real.

Tableau

Al igual que Power BI es otra herramienta de visualización de datos, intuitiva y fácil de manejar.

SQL

Este programa se encarga de la gestión, diseño y mantenimiento de las bases de datos. Tiene un lenguaje de programación específico utilizado para manipular datos mediante las conocidas queries. Se trata de las consultas de forma individual que se realizan en la web. Esto quiere decir, que cada query es una pregunta o consulta en los motores de búsqueda -Google, Ecosia, etc.-. Son muy utilizadas en referencia al posicionamiento en las estrategias de marketing online, puesto que son las palabras o conceptos que las personas utilizarían para “googlear” lo que deseen buscar.

Matlab

Plataforma de Inteligencia Artificial basada en matrices que se utiliza para analizar datos, desarrollar algoritmos y resolver problemas matemáticos y científicos.

Sistemas CRM y ERP

Se dedican a la planificación de recursos y gestión de relaciones con clientes.

Hadoop

Estructura de software de licencia libre utilizado para almacenar datos, programar aplicaciones que alimenten grandes volúmenes de datos, ejecutar aplicaciones en red.

Spark

Estructura de software de licencia libre utilizado para almacenar datos, programar aplicaciones que alimenten grandes volúmenes de datos, ejecutar aplicaciones en red.

     

María García-Maroto García, técnica de investigación social de la Fundación iS+D; y Rosalía Santamaría Muñoz, experta en análisis de datos (Business Intelligence Analyst) e investigadora asociada de la Fundación iS+D.

¿Necesitas aprender a programar con R?

Descubre nuestros curso online «Introducción a Data Science: Programación Estadística con R».

Más información



Deja un Comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.