¿Qué debe saber todo científico de datos sobre informática?

La buena publicación de Michael ha tocado algunos puntos importantes. Además, aquí hay una lista algo pragmática de herramientas que sugeriría conocer. Estas sugerencias se derivan principalmente de una breve experiencia trabajando como “científico de datos”.

  • Tratabilidad computacional: si diseña un modelo, ¿tiene una idea de cuán eficiente es ajustarlo, además de su precisión? Los estadísticos suelen estar fijos en cuán “bueno” es un modelo (y definir rigurosamente lo que eso significa), pero las compensaciones entre precisión y eficiencia pueden ser importantes en un producto en vivo. (Es decir, si su metodología implica probar cada combinación de algo de un conjunto finito, debería saber intuitivamente que se encuentra en una complejidad exponencial). es la conexión con la teoría de la información algorítmica que le permite probar cosas como límites inferiores en la complejidad. Pero no estoy seguro de que el nivel de tecnicidad tenga relevancia en un entorno práctico. Podría estar equivocado).
  • Estructuras de datos: ¿tiene un conocimiento práctico de estructuras de datos básicas como montones, pilas, listas y tablas hash? Se sorprenderá de cuánto tiempo puede desperdiciarse implementando métodos de manera ineficiente para eliminar, reorganizar y masajear los datos.
  • Bases de datos relacionales: Estar muy cómodo con las bases de datos y la teoría asociada puede proporcionar grandes ganancias. Poder subseleccionar rápidamente una porción de datos de una gran base de datos es vital para su flujo de trabajo. Por ejemplo, si se inspira a mirar los datos de alguna manera, no quiere perder el tiempo teniendo que recordar la sintaxis SQL. Es algo mundano, pero te sorprendería la cantidad de personas brillantes con las que me he encontrado que tienen problemas simplemente para recuperar datos. También es posible que desee conocer los matices de las principales opciones de las posibles bases de datos que está considerando almacenar sus datos; es decir, ¿preferiría algo dinámico como MongoDB o estático como PostgreSQL, y cuáles son las compensaciones entre elegir uno versus el otro?
  • Conocimiento práctico de Linux: esto está vinculado al punto anterior; Un conocimiento práctico de los comandos de Linux / Unix puede ayudarlo a manejar los datos de manera eficiente.
  • Comodidad con un lenguaje de scripting de alto nivel: idealmente, debería sentirse bastante cómodo con al menos un solo lenguaje de scripting para poder hacer cosas rápidamente (digamos, raspar datos e ingresar cosas en una base de datos). Personalmente, prefiero Python debido a la gran cantidad de paquetes disponibles, pero el idioma en particular no es tan importante. Al final, la implementación más robusta y eficiente probablemente será en algo así como C ++, pero el conocimiento de un lenguaje de script puede ayudarlo a producir prototipos.

Creo que la mejor manera de recogerlos si no tiene capacitación formal es definir un problema simple y escribir código para resolverlo. En este proceso, te darás cuenta de qué detalles de los artículos que he mencionado necesitas trabajar.

En la práctica, no se trata tanto de lo que sabe un científico de datos, sino de qué tan rápido puede identificar e investigar el problema en cuestión para encontrar la solución adecuada, incluso cuando no están familiarizados con las circunstancias.

Dicho esto, hay algunos fundamentos que son críticos para la implementación eficiente de algoritmos estadísticos (ya sea para el raspado, el análisis o la visualización).

Complejidad y teoría de la información

¿Cómo se escala cada subrutina con la dimensión? ¿Cuándo es irrelevante esa escala en la práctica (por ejemplo, un factor constante enorme)?

¿En qué circunstancias debería esperar la posibilidad de una velocidad exponencial y qué algoritmos aprovechan eso?

Estructuras de datos

¿Cuáles son las representaciones de máquina más eficientes para varios datos? ¿En qué circunstancias puede cada representación mejorar el rendimiento?

Ejemplos

Acaba de implementar un algoritmo y la creación de perfiles revela que el programa pasa la mayor parte de su tiempo leyendo y escribiendo en una base de datos. Incluso si no tienen ninguna experiencia en ingeniería de bases de datos, un buen científico de datos debería ser capaz de encontrar e implementar índices rápidamente (y entender por qué, a partir de conceptos teóricos de información, producen una velocidad exponencial). Si los índices ya están establecidos o no proporcionan un beneficio suficiente, entonces se aplica el mismo procedimiento a la arquitectura específica de la base de datos. Algunos conocimientos básicos de las estructuras de datos ayudarán al científico de datos a identificar la elección adecuada para el problema en cuestión.

O quizás el código, implementado en Python, está pasando la mayor parte de su patrón de tiempo coincidente con expresiones regulares. Algunas investigaciones deberían revelar diferencias en los estándares de expresiones regulares a lo largo de los años (la coincidencia de expresiones regulares puede ser simple y rápida es un excelente ejemplo), lo que motivó un cambio a grep que fuma los estándares modernos de expresiones regulares para muchos patrones.

Particularmente…

Más específicamente, ¿cómo los estadísticos y similares (personas que no están necesariamente capacitadas en CS) recogen la informática y / o la programación en el camino?

Ignorando a aquellos con antecedentes de CS, los estadísticos permanecen ignorantes o recogen muchos de los principios en el camino. Cuando implementa algoritmos avanzados, el rendimiento es crucial y hay muchas oportunidades para aprender, ya sea de colegas, tutoriales, libros de texto o artículos de revistas.

Finalmente, ¿cómo se asegura de que su aprendizaje en CS esté vinculado a la práctica de la estadística y la ciencia de datos para que no pierda su ventaja competitiva (original)?

La estadística moderna se trata de resolver problemas más grandes más rápido, y eso es a menudo tanto sobre implementaciones como sobre metodología estadística. Los mejores estadísticos y científicos de datos adoptarán ambos, por lo que todo lo que debe hacer es seguir sus algoritmos hasta la implementación.

Para todos los estudiantes y profesionales que quieran seguir una carrera como Científicos de Datos, la programación R, el análisis predictivo y el aprendizaje automático son algunos de los temas principales, ya que es una de las carreras más lucrativas y de rápido crecimiento.

Con la aparición de los teléfonos inteligentes, los fabricantes de aplicaciones basadas en Android fueron impulsados ​​a un nivel completamente nuevo. Todos los días se lanzan nuevas empresas nuevas con Android y la aplicación web como la tecnología principal y la fuerza impulsora.

Aquí hay algunas tendencias laborales en estos sectores.

edWisor.com es una de esas plataformas que proporciona un entrenamiento completo en vivo de Data Scientist . Estas sesiones de capacitación en vivo son proporcionadas por profesionales que actualmente trabajan en la industria en este puesto de trabajo . Este es un programa de 10-12 semanas con 3-4 horas de entrenamiento en vivo los fines de semana. La capacitación en vivo se proporciona con un enfoque práctico basado en una asignación semanal y un proyecto de la industria . Estas tareas y proyectos son evaluados por el profesional / mentor y se clasifican en base a eso por su habilidad como Data Scientist .

edWisor.com después de completar el curso envía currículums junto con sus proyectos a las compañías relevantes para la contratación como pasante y a tiempo completo.

Gracias.

More Interesting

¿Qué compañía es mejor para una capacitación de 6 meses para una B.Tech en informática?

Me encantan tanto la codificación (Web + Software) como la robótica (AI). ¿Debo recurrir a TI si no obtengo CSE o debo optar por ECE?

¿Qué tecnología de software es la más potente para una mejor carrera en el desarrollo de software?

¿Cómo puedo, viniendo de un entorno que no sea CS, asegurarme de que mi currículum esté preseleccionado por compañías de software como Oracle, NetApp, Amazon y otras?

Además de programar, ¿qué otros trabajos puede hacer un graduado de CS?

¿Es un título irlandés en informática tan bueno como un título estadounidense en informática?

¿Cuál de los siguientes es mejor: un BCA, un curso de ingeniería informática o un BSc en informática?

¿Cuál tiene más alcance después de cuatro años: CSE, ECE o EEE?

¿Por qué la mayoría de los programadores nuevos parecen obtener trabajos con Java o C #?

¿Debo obtener un título en informática si no soy bueno en pensamiento abstracto?

¿Cómo puedo conseguir un trabajo haciendo investigación bioinformática sin obtener un doctorado?

¿Necesitas aprender código para convertirte en un hacker de crecimiento?

Soy malo en matemáticas pero soy un gran programador, un pensador lógico y un excelente solucionador de problemas. ¿Qué tan difícil sería para mí obtener un título de CS?

¿Qué lenguajes de computadora debo aprender si soy un estudiante de segundo año de ciencias de la computación?

Estoy MUY interesado en la ciencia / MEDICINA. ¿Qué puedo hacer para destacar en el grupo de aplicaciones para las universidades elite / ivy league?