El problema con responder esta pregunta es que hay una gran variación en qué tipo de responsabilidades se asignan a un científico de datos. En algunos roles, un científico de datos es solo un desarrollador de software que conoce algunas estadísticas. En otros, es un estadístico que sabe cómo programar algo.
Dicho esto, el consejo general es que necesita saber cómo trabajar con grandes conjuntos de datos. En lugar de tratar de averiguar cuál es el mínimo, déjame revisar una lista de lo que consideraría el ideal. Cuantos más de estos pueda marcar, más feliz será en el mercado laboral:
- R, SAS o algún otro paquete estadístico. No quiere perder el tiempo construyendo sus propias versiones de modelos estadísticos estándar. SAS es infinitamente mejor en el manejo de grandes conjuntos de datos que R, pero las capacidades gráficas y la extensibilidad de R son sorprendentes. MATLAB se agrupa aquí a veces también.
- Python o algún otro lenguaje de script. Hay mucho que hacer en los lenguajes de programación estadística, pero Python lo maneja muy bien. Los lenguajes más rápidos tienden a tener ciclos de desarrollo más largos, por lo que Python es una gran herramienta para jugar. Ruby y Perl son comparables, pero Python es definitivamente el estándar.
- C ++, Java o algún otro lenguaje de rendimiento relativamente alto. Python no siempre lo cortará a la velocidad, y ahí es cuando rompes las armas grandes. Java es mucho más común que C ++ por lo que he visto, pero los dos lenguajes son lo suficientemente similares como para que puedas elegir el otro una vez que hayas eliminado uno de ellos.
- SQL y bases de datos relacionales. Estos no se ajustan a todos los conjuntos de datos, pero cuando lo hacen, se ajustan muy bien.
- Bases de datos NoSQL. Estas son las alternativas a SQL. Este es un grupo de paquetes de software mucho menos estandarizado, por lo que es difícil dar consejos específicos. Hive es popular y encaja bien con otras herramientas informáticas distribuidas, por lo que podría ser la mejor para empezar.
- Hadoop / MapReduce. Si no sabe cómo solucionar esto, no conoce big data.
- Estructuras de datos estándar. Aquí encontrará todo lo que encuentre en el libro “Introducción a las estructuras de datos con el lenguaje X”. La lista estándar es básicamente listas enlazadas, colas, pilas, árboles binarios, montones, tablas hash y estructuras de datos gráficos. Cualquier cosa que sepas arriba es un bono.
- Algoritmos estándar. Esto es un poco difícil de separar de la lista de estructuras de datos, pero diría que la mayoría de lo que hay en los capítulos básicos de CLRS es un juego justo. En particular, los algoritmos básicos de búsqueda de gráficos son esenciales.
- Los algoritmos estándar de aprendizaje automático. Regresión lineal, SVM, vecino más cercano, redes neuronales, Adaboost, árboles de decisión, regresión logística, LDA. Las técnicas para la selección de funciones siempre son interesantes.
- Los fundamentos de las estadísticas aplicadas. Sepa cómo diseñar un esquema de muestreo que no sea solo un muestreo aleatorio simple. Ser capaz de analizar algunos experimentos básicos. Puntos de bonificación si sabe cómo analizar datos de panel con modelos lineales generalizados.
Obviamente, nadie puede ser un experto en todo esto al salir de la escuela, pero como dije anteriormente, mientras más de estas cosas puedas hablar inteligentemente, mejor será tu búsqueda de empleo.
- Cómo encontrar aplicaciones de big data
- ¿Cómo utiliza un científico de datos herramientas de control de versiones como GIT y SVN?
- ¿Cuándo salió el término Big Data y cómo difiere de los datos normales?
- ¿Cuál es el beneficio de las soluciones de archivo de datos?
- ¿Cuál es la diferencia entre Data Warehousing y Big Data Analytics?