Saltar al contenido

¿Quiero aprender ciencia de datos, ahora qué?

Todo viaje comienza con un primer paso, y por eso una pregunta que recibimos regularmente en ixpantia pero que no es fácil de responder es: “Como puedo aprender ciencia de datos”. Es una de esas preguntas donde la única respuesta correcta es “depende’. Depende te tus intereses, aptitudes, necesidades profesionales y la cantidad de tiempo que tienes disponible para estudiar y practicar. Al fin de cuentas la respuesta es diferente para cada persona.

Quizás lo más importante es ser lo suficientemente honesto contigo mismo para diferenciar entre interés y aptitud. Hay tantos campos dentro de ciencia de datos que la clave está en encontrar lo que te hace feliz hacer, que ojalá sea algo que logras absorber con suficiente facilidad para que no te desanimes.

Hay una respuesta a una pregunta similar sobre matemáticas que usa un desglose útil.

  • Tu tiempo es limitado. No desperdicies tu tiempo con blogs genérico información orientada a entretener y conseguir likes. Si tienes 2 horas al día para estudiar, usa los haciendo cursos de los diferentes MOOC’s (una lista viene abajo), un libro técnico sobre un tema, la documentación oficial de la tecnología que estas aprendiendo. Sugiero que no dediques mucho tiempo leyendo sobre ciencia de forma browsing - saltando de un trocito de información al siguiente - pero que mas bien uses el poco tiempo que tienes para enfocarte en un solo tema. Así puedes comenzar y terminar dando un paso en entender y absorber el contenido sobre el tema.
  • Trabaja en proyectos. Cada uno tenemos diferentes formas para lograr hacer disponible tiempo. Dos horas al día, o un día por semana. Lo importante es que dentro de ese tiempo definas un proyecto que has de lograr. Finalizar un curso completo en un MOOC, terminar un proyecto de análisis o visualización que tienes en mente. Lo importante es terminar el proyecto antes de seguir con el siguiente, o ser claro y honesto contigo mismo porque lo aparcas o abandonas.
  • No pases demasiado por encima. Hay libros que nos toman años antes de llegar de principio a fin porque usan demasiados conceptos aun desconocidos. No pases demasiado por encima sin entenderlo. Estudia, busca otras referencias, fuentes de explicación antes de seguir adelante. Y si son demasiados conceptos nuevos, parquea el libro o curso y busca algo al nivel al cual estas.
  • Ten paciencia. Me han preguntado con cara seria cuantas semanas van a necesitar para aprender ciencia de datos. Una grado en una universidad puede tomarte 4 años de estudio universitario, tiempo completo. Esa es buena referencia, y solo se puede hacer mas corto con mas conocimiento previo.
  • Evalúa el valor de tu esfuerzo. Aprender algo nuevo siempre vale la pena. Aferrarte a la idea de que tienes que lograr ser científico de datos quizás no. Balancea el esfuerzo que pones en aprender con lo que te es directamente útil para tu trabajo actual. Tiene mucho mas valor un profesional que puede aplicar pocas de las herramientas del tool-set de ciencia de datos, que alguien que ha escuchado un poco de todo, pero nunca lo ha aplicado a datos reales.
  • En serio: trabaja en proyectos Busca hacer proyectos, únete a algún proyecto en GitHub o empieza por tu lado. Que preferiblemente sea con una pregunta que realmente quieras ver resuelto y pasa por los pasos: identificar los datos, ingerirlos, limpiar/transformarlos, analizar y presentarlos. En cualquier empresa donde te vayas a presentar como científico o ingeniero de datos te van a preguntar “que proyectos has hecho?”

Recursos

Empieza explorando a lo amplio

Al principio toma tantos cursos introductorios como puedas y terminales, inclusive cuando ya te aburren, a menos que después de los primeros dos vídeos dices: esto no es para mi (esta bien cuando eso pasa!). Como hay tantas áreas en que te puedes especializar, es bueno tomar un poco de tiempo para entender que tan amplio es el campo. Y aún si dejas algunos de esos temas a un lado es bueno saber que existen para que puedas buscar el apoyo correspondiente en un proyecto futuro.

Para explorar sobre el tema y escuchar sobre experiencia de otros están los Data Latam Podcasts en www.datalatam.com para inspirarte con ideas de gente en las trincheras de datos.

Escoge un lenguaje

Mi recomendación personal es la siguiente: Si aun no sabes programar escoge R y deja Python por ahora a un lado (a menos que tengas una necesidad puntual para aprenderlo, de ser así escoge Python y deja R a un lado). R y Python son diferentes en la forma en que te expresas, y es mejor tener una buena base en una antes de aproximar el siguiente lenguaje de programación.

No te desgastes en debatir si uno es mejor que el otro: El que tu escojas es el mejor para ti. Asimismo, si ya sabes programar, sigue en el lenguaje que conozcas hasta que te sientas cómodo y te expreses de forma fluida, antes de comenzar con uno nuevo. Después de R y Python hay un mundo abierto de cosas por aprender, donde ya depende de lo que necesites para tu especialidad, o proyecto actual.

Cursos en Línea

Antes de comenzar a aprender a programar, toma el tiempo para revisar tus bases en estadísticas, y quizás también matemáticas. En general los siguientes sitios ofrecen cursos desde introductorio a avanzado:

  • Data Camp :: Cursos bien presentados, breves y relativamente faciles de digerir, buenas introducciones.
  • Coursera :: Buenos cursos a diferentes niveles con suficiente profundidad para internalizar conceptos.
  • Udacity :: Buenos cursos a diferentes niveles con suficiente profundidad para internalizar conceptos.
  • edX :: Tienen buena fama, pero no tengo experiencia propia - me cuentas si has hecho algunas?
  • Big Data University :: A veces se les escapa un poco de promoción del patrocinador IBM, pero los cursos son buenos, y con un buen enfoque practico.
  • Para evitar que te abrumes, toma uno de los learning tracks que estos sitios presentan. Y sobretodo, siempre evalúa si cual utilidad practica (para tu carrera o tu trabajo) va a tener el curso que estas por comenzar.

Me cuesta recomendar cursos en MOOCs porque entre gustos no hay disgustos, y mucho tiene que ver con estilo. A mi me han gustado los cursos de Cognitive class. Son sobretodo los labs que tienen profundidad (mucho mas que los vídeos). Pero aquí realmente es lo que te llama la atención a ti, y el estilo que te guste lo que es lo mas importante.

Libros

Una de las ventajas de R es que al ser un lenguaje enfocado a un solo dominio: análisis de datos, se aprende mucho sobre ciencia de las datos a la misma vez que sobre programación. Este sería mi lista de recomendaciones en este momento.

  1. Hands on programming with R - A muchos les gusta este libro para comenzar. Es practico y enfocado en aprender hacer cosas útiles.

  2. Ciencia de Datos para Gente Sociable - Antonio es un excelente instructor de R, y creo que logró escribir uno de los libros de más fácil acceso para sumergirte de forma guiada al mundo de análisis de datos con R. Hay muchos ejemplos de presentación de datos geográficos lo que lo hace divertido, porque vez información en formas que quizás no acostumbras ver.

  3. Introduccion to statistical learning - un libro clásico, leído por mucho sobre aprendizaje maquina. Todos los ejercicios están elaborados en R. Quizás no el R mas moderno, pero funcionan y te dan la sensación de tenerlo en los dedos. Muy recomendado. Si cae un poco pesado, haz los ejercicios y vuelve leer el capitulo.

  4. R for data science - Otra muy buena introducción, quizás uno que va a otro paso mas adecuado que Hands on Programming with R. Es cuestión de gustos, recomiendo ver los dos. La ventaja de esta es que hay hay una traducción al español.

  5. Mosaic Guia de Estudiantes - MOSAIC es un proyecto enfocado en fomentar el desarrollo de un currículum de enseñanza de estadísticas. Francisco Jara hizo una traducción del manual para estudiantes A mi me gusta por su enfoque en la parte estadística.

Profundiza en temas aplicables

Si te puedes dar el lujo de estudiar meramente por el amor al arte esto no aplica. Para todos los demás tenemos que usar el tiempo limitado que tenemos para profundizar en temas que son directamente aplicables para nuestro trabajo. De que sacas mas beneficio: aprender a programar Spark en Scala, o aprender sobre Spark y aprender mas sobre R a la misma vez? Es un balanceo constante, y no sobra escribir tu razonamiento en notas para que después puedas regresar y ver porque tomaste una dirección u otra.

Diviértete!

Hay tanto por hacer, y aproximaciones por reconocer, que te deseo que te diviertas mucho al aprender. Eso hará mas fácil también conectarte con otros que están aprendiendo y te van a ayudar en tu camino (así como pronto podrás encaminar a otros). Y si tienes otros tips y recomendaciones que funcionan para ti, mándamelo para incluirlos aquí.