El trabajo de científico de datos es un perfil muy demandado a la vez que versátil. Si has estado pensando en dar el primer paso hacia la ciencia de datos. Este artículo te será de mucha ayuda.

Ya sea que se relacione con tus estudios, trabajo, o simplemente quieras saber del trabajo más atractivo del siglo XXI. Aquí te presento los elementos más esenciales que necesitarás para iniciar tus estudios en este campo.

Fundamentos Generales

Entre los fundamentos generales se encuentra una combinación de ciencias duras, lenguajes de programación, conocimientos de bases de datos así como de un conjunto de habilidades y herramientas de utilidad.

Veamos a continuación un resumen de las mayores habilidades.

Matemáticas:

Principalmente, Álgebra Linear, Cálculo Diferencial; añadido a eso las bases generales en geometría y funciones son indispensables para una buena intuición en los modelos de aprendizaje automático.

Necesitarás Álgebra Lineal sobre todo en los aspectos de operaciones y transformaciones con matrices.

Algunos conceptos como reducción de dimensionalidad, solo pueden ser comprendidos a fondo con estas bases.

Por otra parte, el cálculo diferencial es esencial para los conceptos de Función de Pérdida, para la cual es necesario conocer acerca de la optimización matemática.

Estadística:

Por aquí tenemos, estadística descriptiva e inferencial, así como teoría de la probabilidad.

Pero...¿Cuáles son sus Aplicaciones? Quizá no las abarque ni con todo el artículo. Sin embargo, podemos hablar de su amplitud en al menos tres niveles:

Básica:

Las aplicaciones más simples como las medidas de dispersión, Distribuciones de probabilidad, variables aleatorias discretas y continuas.

También tenemos el Teorema del Límite Central, las Pruebas de Hipótesis, y el muestreo.

Intermedia:

Abarca Modelos Lineales, análisis de correlación y análisis exploratorio de datos.

Avanzada:

Aunque no hay como tal una "frontera" que distinga lo avanzado de lo básico, por parsimonia podríamos decir que aquí se incluyen otros tópicos relevantes aunque quizás no indispensables:

Análisis de Series de Tiempo (sobre todo los modelos ARIMA), análisis de supervivencia, y la teoría del aprendizaje estadístico. Esta última es mucha ayuda en Minería de Datos.

Ciencias de la Computación:

Pese a las muchas aplicaciones del área, podemos resumir la indispensabilidad de nuestro diseño curricular en dos elementos: Algoritmos y Estructuras de Datos y Teoría de aprendizaje automático.

Algoritmos y Estructuras de Datos:

Son esenciales no solo en ciencia de datos sino también en programación. Básicamente con ellos se aprende la resolución de problemas mediante algoritmos. Son el precedente necesario a la implementación de cualquier modelo.

Cabe mencionar que incluso existen competencias internacionales de resolución de algoritmos computacionales. Así que su importancia está lejos de poder ser subestimada.

Teoría de aprendizaje automático (Machine Learning):

Es el corazón del cuerpo teórico a dominar.

La teoría abarca, no solo los diferentes modelos de Aprendizaje Automático, sino también conceptos esenciales tales como "Overfitting & Underfitting" y "Cross-Validation".

También hay elementos muy prácticos como la minimización del riesgo empírico, la compensación entre el sesgo y la varianza. ¡Entre muchos más!

¿Suena complicado? No te preocupes, con el tiempo y la práctica, la teoría se vuelve, no solo amena, sino también una herramienta muy eficaz para analizar la calidad de un modelo.

Programación:

Los lenguajes de programación son la base de las operaciones en Ciencia de Datos, pasando desde la limpieza de datos, el ajuste de nuestro conjunto de datos, hasta llegar a la validación y optimización de nuestros algoritmos.

Todas estas tareas pueden realizarse gracias a un lenguaje de programación. Cabe agregar funciones adicionales, tales como manipulación de bases de datos y visualización. A continuación se mencionan los 3 lenguajes más empleados en el campo.

Python:

Es un lenguaje multipropósito, siendo empleado también en Back-end, y hasta en Ciberseguridad. La Ciencia de Datos no es la excepción, Python cuenta con muchas bibliotecas para ello.

Entre sus bibliotecas podemos clasificarlas de la forma siguiente:

Pandas, Numpy, Seaborn, Matplotlib para análisis de datos.

Scipy , Statmodels y Scikit-Learn para aprendizaje automático y análisis matemático-estadístico.  

Tensorflow, Pytorch y Keras para aprendizaje profundo.

R:

Otro lenguaje de programación muy empleado en la ciencia de datos es R.

R se centra específicamente en el análisis estadístico, así como la minería y visualización de datos.

Puedes emplear todas las funcionalidades que ofrecen sus paquetes para ciencia de datos, de los que destacan Tidyverse. En cuanto a visualización de datos, R cuenta con los paquetes clásicos de ggplot2.

Finalmente, también cuenta con Shiny, como complemento final, este último paquete te permite interactuar, analizar y comunicar datos con la mayor flexibilidad posible.

SQL:

Es esencial para manejar bases de datos. En palabras simples, con SQL, obtienes lo necesario para el proceso de extracción de datos.

Por mencionar algunas de las funciones más elementales, en SQL puedes crear nuevas tablas y mover información a ellas, trabajar con operadores, agregar datos, organizar tablas, y efectuar declaraciones a través de comandos simples para mantener la integridad de los datos.

Puedes encontrar una introducción a SQL y las bases de datos aquí.

Finalmente, cabe aclarar que estos lenguajes son complementarios, más que excluyentes. La clave está en saber la situación apropiada para aprovechar al máximo las fortalezas de cada uno de ellos.

Esto aplica principalmente a la elección entre Python y R. No obstante es necesaria una advertencia, pese a ser complementarios, lo mejor es comenzar aprendiendo un solo lenguaje a profundidad , hasta tener un buen dominio.

Otros conocimientos útiles:

Git y Github:

Son la base de la colaboración de proyectos. Ya sea un proyecto de software, de aprendizaje automático o relacionados.

Gracias a Github y su sistema de repositorios, puedes solicitar la revisión y colaboración del equipo del trabajo en el proyecto, así como la realización de cambios no determinantes a través de ramificaciones.

Por otra parte, Git, es un open-source, con un sistema de control de versiones, que pese a iniciar en tu repositorio local, te permite trabajar en conjunto con Github, a través de Git-Push y Git-Pull.

Project Management:

Principalmente gestión de proyectos ágiles, la metodología tradicional waterfall, el marco de trabajo Scrum, los requerimientos del producto, las revisiones "Sprint" y las retrospectivas.

Existe una cierta discusión acerca de si las metodologías ágiles funcionan o no con proyectos de ciencia de datos. Dicha cuestión no será abordada.

Lo que sí está claro, es que estas metodologías constituyen un conocimiento práctico a nivel general para el desarrollo de software y relacionados. Por tanto, no está de más tener un conocimiento de estas.

Habilidades Blandas:

Previamente, se han mencionado las diferentes capacidades técnicas. En una economía competitiva las habilidades blandas se convierten en un elemento imprescindible para casi cualquier tipo de ocupación.

A continuación se presentan las más relevantes para el caso de Ciencia de Datos.

Comunicación:

Esta habilidad es esencial, de poco sirve la información si esta no puede comunicarse efectivamente. En inglés existe un término muy acorde; "Data Storytelling".

En otras palabras es necesario ser capaz de interpretar información de gran complejidad y transformarla en una muestra representativa de manera retórica y/o visual.

Visualización de Datos:

Otro aspecto relacionado con la comunicación. Existen muchas bibliotecas así como herramientas de código abierto para la visualización de datos.

Análisis:

Podríamos ponerlo en contexto, como la capacidad de emplear el pensamiento y diseño de sistemas.

Implica considerar los problemas de forma holística con un conjunto de factores interrelacionados para, de esta forma, considerar las mejores alternativas posibles.

Reflexiones finales:

Un elemento adicional, Enfoque profesional:

Este aspecto no suele ser muy mencionado en las instituciones o comunidades profesionales. Pero en la realidad, es necesario cierto grado de especialización en un rubro o sector. Por ejemplo, los modelos de aprendizaje automático suelen ser muy empleados en el sector de salud.

Otro caso frecuente es la reciente aplicación de ciencia de datos a la cadena de suministro. Como último ejemplo, no puede faltar el sector financiero, cuyas aplicaciones son muy diversas. Y la lista puede seguir, dependiendo de tus inclinaciones y aptitudes profesionales.

En conclusión, cierto nivel de especialización es benéfico más que perjudicial.

Aprender Ciencia de Datos con freeCodeCamp:

freeCodeCamp ofrece muchos recursos para el aprendizaje de Ciencia de Datos, tanto en artículos como en su canal de YouTube.

En un futuro se espera un plan de estudios en ciencia de datos con matemáticas y aprendizaje automático a nivel avanzado. Puedes tener más información al respecto aquí.

Si llegaste hasta aquí, muchas gracias por leer y espero que este artículo haya sido de beneficio, ya sea como fuente de inspiración o al menos, de conocimiento general.