Entonces has conseguido tu primer trabajo como científico de datos. ¡Felicidades! ¿Ahora que?
(1) ¿Cómo puede convertirse en un mejor científico de datos ?
Hay varias habilidades que no se enfatizan en la capacitación en ciencia de datos que son valiosas e incluso comunes en la práctica. Éstos incluyen:
- ¿El amplio conocimiento de Python y sus dependencias podría hacerme un buen científico de datos?
- ¿Puede uno convertirse en un científico de datos simplemente resolviendo desafíos en Kaggle?
- ¿Cuáles son las posibilidades de que Australia incluya posiciones relacionadas con la ciencia de datos en SOL en un futuro cercano?
- ¿Puede un ingeniero de ECE ser un científico de datos?
- ¿Cuál es la diferencia entre un analista de datos y un científico de datos?
- Optimización bajo restricciones . Vea Cómo resolverlo: Heurística moderna por Zbigniew Michalewicz y David B. Fogel and Pulp (paquete Python)
En Squarespace, publicitamos a través de una gran cantidad de diferentes ‘canales’, como TV, radio en línea (como Pandora y Spotify), podcasts y anuncios de visualización en Internet. Cuanto más gastamos, menos eficientes se vuelven la mayoría de los canales. También tenemos diversos grados de certeza acerca de qué tan bien funcionan ciertos canales, y sabemos que algunos canales publicitarios funcionan mejor en combinación con otros. Entonces … ¿cómo distribuimos el gasto a través de estos canales para llegar al público adecuado con el mejor mensaje sobre los productos apropiados? Esta es una mezcla fascinante de aprendizaje automático y optimización.
- Algoritmos en línea y procesamiento de datos asíncrono. Consulte Laboratorios de avance rápido (“Métodos probabilísticos para transmisiones en tiempo real”), Apache Kafka y E / S asíncrona, bucle de eventos, rutinas y tareas: documentación de Python 3.6.0b2
A veces, la forma más eficiente de trabajar con datos es a través de la transmisión y el procesamiento asincrónico. Supongamos que está raspando una gran cantidad de páginas web. Sus solicitudes serán devueltas en un orden imprevisto. Puede esperar a que todo regrese y luego realizar un procesamiento adicional de sus resultados, o puede administrar los datos tal como vienen. A menudo, la forma más eficiente de resolver problemas que involucran a muchas máquinas en un entorno distribuido no es a través del paralelismo, en realidad haciendo las cosas simultáneamente, sino a través de la transmisión de datos y procesos asincrónicos que cambian eficientemente entre tareas.
- Análisis de datos bayesianos.
Estudiar el análisis de datos bayesianos es una excelente manera de desarrollar una comprensión probabilística del modelado de la ciencia de datos en general. Vea Replanteamiento estadístico: un curso bayesiano con ejemplos en R y Stan por Richard McElreath para una introducción gradual y Análisis de datos bayesianos por Andrew Gelman para un texto autorizado.
- Gestión de trabajos por lotes y flujo de trabajo de datos . Vea spotify / luigi y Airflow: una plataforma de gestión de flujo de trabajo – Airbnb Engineering
A menudo necesitará encadenar las tareas de procesamiento de datos juntas. Primero, recuperará datos de un almacén de datos. Entonces puedes transformarlo. Entonces puede tener una serie de modelos que alimentan otros sistemas. Todos estos sistemas se relacionan en formas complejas de prueba, puesta en escena y producción. Luigi (o flujo de aire) al rescate!
- Aprendizaje de refuerzo .
Obtenga información sobre cómo gestionar las compensaciones entre exploración y explotación en una situación en la que puede probar nuevas oportunidades. El texto popular para esto es el aprendizaje por refuerzo: una introducción. Probablemente más útil para un comienzo actual, consulte OpenAI Gym: un juego de herramientas para desarrollar y comparar algoritmos de aprendizaje de refuerzo.
- Búsqueda eficiente Elasticsearch y Amazon Elasticsearch Service – Amazon Web Services (AWS)
Los científicos de datos generalmente desarrollan competencia en bases de datos como Postgres y Mongo. (¡Haz eso primero!) Pero, ¿qué haces cuando quieres que otros usuarios puedan buscar tus resultados o fuentes de datos? Considere Elasticsearch, un proyecto de código abierto construido sobre Apache Lucene. Al escribir estas líneas, Elasticsearch es la herramienta utilizada para administrar la búsqueda en Wikipedia, entre muchas otras cosas. Tiene algunas características interesantes, incluido el control sobre cómo clasifica los resultados de búsqueda y la geolocalización eficiente (por ejemplo, muéstreme todas las ubicaciones cercanas a una latitud y longitud determinadas).
- Buenas prácticas de ingeniería.
Hay mucho que agregar aquí. Algunos conceptos importantes incluyen patrones de diseño, programación funcional y pruebas y documentación efectivas. Los usuarios de Python podrían comenzar con este libro altamente legible: Python efectivo. Para un aspecto diferente, consulte: Estructuras de datos y algoritmos en Python. Aprenda sobre patrones de diseño: elementos de software orientado a objetos reutilizables.
Contribuir a proyectos de código abierto. Scikit-learn tiene una fantástica rampa de acceso para nuevos contribuyentes junior.
- Hacker de línea de comando .
Estas son (en su mayoría) técnicas exploratorias. En la línea de comando, puede transmitir datos y canalizarlos a través de varias transformaciones sin cargar todo en la RAM. Hay libros completos sobre ciencia de datos en la línea de comandos, pero puede encontrar las soluciones que necesita aquí: trabajar con CSV en la línea de comandos o trabajar con datos en la línea de comandos.
- Visualización de datos.
Cuando comencé mi carrera como científico de datos, subestimé la importancia de la visualización de datos. Eso ha cambiado. Hermosas cartas persuaden.
Fuera de las bibliotecas de visualización básicas de ggplot2 (R) y Matplotlib (Python), cada científico de datos debe al menos conocer D3.js: Procesamiento y documentos basados en datos. Si es un usuario habitual de Python, también consulte Seaborn y Bokeh.
Un aspecto importante de la visualización de datos es el “diseño centrado en el ser humano” (ver Kit de diseño). No puede crear grandes visualizaciones sin adoptar algunas técnicas de pensamiento de diseño que extraen información cualitativa sobre las necesidades de su audiencia.
Finalmente, la visualización de datos también puede ser útil para revisar el rendimiento de los procesos en ejecución. Si sus datos están en una serie de tiempo, recomiendo Graphite. Usamos esto ampliamente en Squarespace.
Si trabaja en una organización grande, vale la pena explorar herramientas de inteligencia empresarial como Periscope Data y Chartio. Puede implementar las mismas visualizaciones por su cuenta, pero los tipos de almacenamiento en caché y mantenimiento que hacen que la visualización de datos sea ágil pueden no valer la pena. Una herramienta que permite a otras personas explorar datos le permite concentrarse en otros problemas.
(2) ¿Qué instrucciones (adicionales) puede tomar su carrera de ciencia de datos?
- Comience a aprender sobre el proceso y la gestión del equipo. Comprender el papel de los gerentes de proyecto, gerentes de programa y gerentes de producto: Recomiendo: 73 artículos y libros que lo convertirán en un gran gerente de producto
- Aprenda sobre la estrategia para su negocio particular. La estrategia para una empresa global es bastante diferente para la estrategia de una startup. En Squarespace, recomendamos que las personas miren artículos como Understanding SaaS: por qué los expertos se equivocan, entre muchos. Encuentra y sigue los blogs de estrategia que te entretienen.
- Aprenda cómo y por qué las ventas y el marketing influyen en los resultados en tecnología. Una tecnología mejor no siempre gana (tal vez incluso, “no suele”).
- Aprenda cuándo hacer cosas que no escalan.
¡Buena suerte! Si tiene una pregunta específica, contácteme.