Notas Fecha Científico: ¿por dónde empezar y es necesario?

Notas Fecha Científico: ¿por dónde empezar y es necesario?

TL;DR es una publicación para preguntas/respuestas sobre ciencia de datos y cómo ingresar a la profesión y desarrollarse en ella. En el artículo analizaré los principios básicos y las preguntas frecuentes y estoy listo para responder sus preguntas específicas; escriba en los comentarios (o en un mensaje privado), intentaré responder todo en unos días.

Con la llegada de la serie de notas “Cita Satánica”, llegaron muchos mensajes y comentarios con preguntas sobre cómo empezar y por dónde cavar, y hoy analizaremos las principales habilidades y preguntas que surgieron luego de las publicaciones.

Todo lo dicho aquí no pretende ser la verdad última y es la opinión subjetiva del autor. Analizaremos las cosas principales que parecen más importantes en el proceso.

¿Por qué exactamente es necesario esto?

Para que el objetivo sea más alcanzable y parezca al menos algo específico (quiere convertirse en DS o investigador científico en Facebook/Apple/Amazon/Netflix/Google), observe los requisitos, los idiomas y las habilidades necesarias. específicamente para qué puesto. ¿Cuál es el proceso de contratación? ¿Cómo transcurre un día típico en un puesto así? ¿Cómo es el perfil medio de una persona que trabaja allí?

A menudo, el panorama general es que una persona no comprende realmente qué es exactamente lo que quiere y no está del todo claro cómo prepararse para esta imagen poco clara, por lo que vale la pena tener al menos un plan aproximado de lo que quiere exactamente.

Concretar la vista del objetivo actual.

Aunque cambie en el camino, y generalmente es normal cambiar de planes durante el transcurso de la obra, vale la pena tener un objetivo y centrarse en él, evaluarlo y repensarlo periódicamente.

¿Será o sigue siendo relevante?

Para cuando alcances una posición.

Imagínese que antes de ocupar su puesto necesita obtener un doctorado, trabajar durante 2 o 3 años en la industria y, en general, cortarse el cabello mientras medita en un monasterio: ¿no será la situación con la ciencia de datos la misma que antes con los economistas y abogados? ¿Cambiará todo hasta quedar irreconocible en el área que desea estudiar?

¿No hay muchas posibilidades de que ahora todos se apresuren a llegar allí y veamos una imagen en la que hay una amplia capa de personas que están tratando de ingresar a la profesión, y simplemente habrá una posición inicial magra?

Puede que valga la pena considerar las tendencias actuales al elegir un camino, no solo el estado actual del mercado laboral, sino también su idea de cómo está cambiando y dónde se encuentra.

Por ejemplo, el autor no planeaba convertirse en satanista, pero durante su doctorado trabajó en proyectos de terceros que tenían fuertes habilidades en común con DS, y al final de la escuela de posgrado, naturalmente, cambió al medio ambiente, viendo una buena posición.

Si durante el transcurso de la obra resulta que será necesario trasladarnos a otro lugar, porque ahora hay mucho movimiento y están sucediendo todas las acciones más interesantes, entonces nos trasladaremos allí de forma natural.

Desglose de habilidades

Estas son categorías condicionales de habilidades que me parecen clave para un trabajo pleno y eficaz en DS. Destacaré el inglés por separado: aprende todo lo que hagas en CS. Las siguientes son las categorías clave.

Programación/Secuencias de comandos

¿Qué idiomas seguramente conocerás? ¿Pitón? ¿Java? ¿Secuencias de comandos de Shell? ¿Lúa? SQL? ¿C++?

Qué es exactamente lo que hay que poder hacer y por qué en términos de programación: aquí la gama de posiciones varía mucho.

Por ejemplo, a menudo tengo que implementar lógica compleja, consultas, modelos, análisis y, en general, desarrollar sistemas interpretados, pero casi nunca existen requisitos para la velocidad del código, excepto los más generales y razonables.

Por lo tanto, mi conjunto de habilidades es muy diferente al de aquellos que escriben la biblioteca Tensorflow y piensan en optimizar el código para un uso eficiente del caché l1 y cosas similares, así que mire qué es exactamente lo que necesita y evalúe el camino correcto hacia el aprendizaje.

Por ejemplo, para Python, la gente ya inventó mapa aprendizaje de idiomas.

Seguramente ya existen consejos experimentados y buenas fuentes para sus necesidades; debe decidirse por una lista y empezar a trabajar en ella.

Comprender los procesos de negocio

No puedes ir a ninguna parte sin él: necesitas comprender por qué te necesitan en este proceso, qué estás haciendo y por qué. A menudo, esto es lo que puede ahorrarle mucho tiempo, maximizar sus beneficios y evitar perder tiempo y recursos en tonterías.

Normalmente me hago las siguientes preguntas:

  • ¿Qué hago exactamente en la empresa?
  • ¿Por qué?
  • ¿Quién lo utilizará y cómo?
  • ¿Que opciones tengo?
  • ¿Cuáles son los límites de los parámetros?

Aquí hay un poco más de detalle sobre los parámetros: a menudo puedes cambiar mucho el escenario de trabajo si sabes que se puede sacrificar algo: por ejemplo, la interpretabilidad o viceversa, un par de por ciento no influye aquí y tenemos un muy rápido solución, y el cliente la necesita, porque paga por el tiempo que la canalización se ejecuta en AWS.

Matematicas

Aquí usted piensa y comprende todo usted mismo; sin conocimientos de matemáticas básicas, no es más que monos con una granada (lo siento, Random Forest), por lo que necesita comprender al menos las cosas básicas. Si tuviera que compilar una lista mínima, incluiría:

  • Álgebra lineal: es fácil buscar en Google una gran cantidad de recursos, busque el que más le convenga;
  • Análisis matemático - (al menos en los dos primeros semestres);
  • La teoría de la probabilidad está en todas partes del aprendizaje automático;
  • Combinatoria: en realidad es complementaria a la teoría;
  • Teoría de grafos: al menos BÁSICA;
  • Algoritmos: al menos durante los dos primeros semestres (véanse las recomendaciones de Cormen en su libro);
  • Mathlogic: al menos básico.

Análisis y visualización de datos prácticos.

Una de las cosas más importantes es poder no tener miedo de ensuciarse las manos con los datos y realizar un análisis exhaustivo del conjunto de datos, el proyecto y crear una visualización rápida de los datos.

El análisis de datos exploratorios debería convertirse simplemente en algo natural, como todas las demás transformaciones de datos y la capacidad de crear una canalización simple a partir de nodos Unix (ver artículos anteriores) o escribir un cuaderno legible y comprensible.

Me gustaría mencionar la visualización: es mejor ver una vez que oír cien veces.

Mostrar un gráfico a un administrador es cien veces más fácil y claro que un conjunto de números, por lo que matplotlib, seaborn y ggplot2 son tus amigos.

Habilidades blandas

Es igualmente importante poder comunicar sus ideas, así como sus resultados e inquietudes (etc.) a otros; asegúrese de poder expresar claramente la tarea tanto en términos técnicos como comerciales.

Puedes explicar a compañeros, directivos, superiores, clientes y cualquier otra persona que lo necesite qué está pasando, qué datos estás utilizando y qué resultados has obtenido.

Sus gráficos y documentación deben leerse sin usted. Es decir, no es necesario acudir a usted para comprender lo que allí está escrito.

Puede hacer una presentación clara para transmitir el mensaje y/o documentar el proyecto/su trabajo.

Puede transmitir su posición de manera razonada y sin emociones, decir “sí/no” o cuestionar/apoyar una decisión.

Educación

Hay muchos lugares diferentes donde puedes aprender todo esto. Daré una lista breve: probé todo y, para ser honesto, cada elemento tiene sus pros y sus contras. Pruébalo y decide qué te conviene, pero te recomiendo que pruebes varias opciones y no te quedes estancado en una.

  • Cursos online: coursera, udacity, Edx, etc;
  • Nuevas escuelas: en línea y fuera de línea: SkillFactory, ShAD, MADE;
  • Escuelas clásicas: programas de maestría universitaria y cursos de formación avanzada;
  • Proyectos: simplemente puede seleccionar las tareas que le interesen y recortarlas, cargándolas en github;
  • Prácticas: aquí es difícil proponer algo, hay que buscar lo que hay disponible y encontrar las opciones adecuadas.

¿Es necesario?

En conclusión, probablemente agregaré tres principios personales que trato de seguir.

  • Debería ser interesante;
  • Traer placer interior (= al menos no causar sufrimiento);
  • "Para ser tuyo."

¿Por qué ellos? Es difícil imaginarse haciendo algo todos los días y no disfrutarlo o no estar interesado. Imagine que es médico y odia comunicarse con la gente; esto, por supuesto, puede funcionar de alguna manera, pero se sentirá constantemente incómodo con el flujo de pacientes que quieren preguntarle algo. Esto no funciona a largo plazo.

¿Por qué mencioné específicamente el placer interno? Me parece que esto es necesario para un mayor desarrollo y, en principio, el proceso de aprendizaje. Realmente disfruto cuando logro completar alguna característica compleja y construir un modelo o calcular un parámetro importante. Lo disfruto cuando mi código es estéticamente hermoso y está bien escrito. Por tanto, aprender algo nuevo es interesante y no requiere directamente ninguna motivación significativa.

"Ser tuyo" es el mismo sentimiento de que esto es más o menos lo que querías hacer. Tengo una pequeña historia. Desde pequeño me ha interesado la música rock (y el metal, ¡SALMON!) y, como tantos otros, quería aprender a tocar y eso es todo. Resultó que no tenía oído ni voz; esto no me molestaba en absoluto (y debo decir que a muchos intérpretes en el escenario no les molesta), y cuando todavía estaba en la escuela compré una guitarra... y Quedó claro que no me gusta mucho sentarme durante horas y jugar con él. Fue difícil, siempre me pareció que salía alguna tontería; no sentí ningún placer con ello y simplemente me sentí pésimo, estúpido y completamente incapaz. Literalmente me obligué a sentarme para las clases y, en general, no era una buena comida para el caballo.

Al mismo tiempo, podía sentarme tranquilamente durante horas desarrollando algún juguete, usando un guión para animar algo en flash (u otra cosa) y estaba tremendamente motivado para terminar elementos del juego o lidiar con las mecánicas de movimiento y/o conectando bibliotecas de terceros, complementos y todo lo demás.

Y en algún momento me di cuenta de que tocar la guitarra no es lo mío y que me gusta mucho escuchar, no tocar. Y mis ojos brillaban cuando escribía juegos y códigos (escuchando todo tipo de metal en ese momento) y eso es lo que me gustaba entonces, y eso es lo que debería haber estado haciendo.

¿Alguna otra pregunta?

Por supuesto, no pudimos analizar todos los temas y preguntas, así que escribe comentarios y envíame un mensaje privado; siempre estaré feliz de tener preguntas.

Notas Fecha Científico: ¿por dónde empezar y es necesario?

Notas Fecha Científico: ¿por dónde empezar y es necesario?

Fuente: habr.com

Añadir un comentario