🎙 Episodio 68. Kaggle y el Machine Learning de competición

En el episodio de hoy de Un podcast ninja sobre Big Data hablamos de Kaggle, la plataforma de competiciones de Machine Learning por excelencia.

Kaggle: El origen

Anthony Goldbloom era un economista de 25 años que trabajaba en el departamento del tesoro australiano cuando participó en un concurso de ensayos para The Economist.

El premio era una beca de 3 meses trabajando en Londres para la revista.

Anthony ganó y esto tendría graves consecuencias para todos nosotros, ninjas de los datos.

Durante su beca en The Economist, Anthony tuvo la oportunidad de escribir un artículo sobre Big Data y minería de datos y cómo todo eso tendría una repercusión directa sobre las empresas y los negocios.

Estamos hablando del año 2008.

Unos meses más tarde volvería a Australia y seguiría trabajando como economista pero por poco tiempo.

No podía dejar de darle vueltas a las conversaciones que había tenido con el tipo encargado de la campaña presidencial de Barack Obama y cómo la minería de datos y la segmentación les había dado buenísimos resultados en la elección de Obama.

A todas aquelles conversaciones con responsables de estrategia de tecnología de distintas empresas que le habían dicho cuánto les gustaría implementar más modelado predictivo en sus compañías pero que no acababan de contagiar su entusiasmo al resto del equipo para conseguir el presupuesto necesario para formar equipos de datos.

No lo sabía pero Anthony Goldbloom, economista australiano de 25 años, se había transformado en ninja de los datos.

¿Qué es Kaggle?

Kaggle nació en 2009 como una plataforma de Ciencia de datos de competición.

La idea es sencilla, hay empresas con un problema complejo a resolver que ofrecen premios en metálico al participante o equipo que obtenga la mejor solución a su problema.

 Cualquiera puede participar. Desde cualquier lugar del mundo.

En ciencia de datos no existe una estrategia que funcione para todos los posibles problemas por lo que muchas veces la solución aparece probando cuantas más estrategias mejor y ver cuál es la que funciona.

Para una empresa con un problema complejo y un equipo de datos pequeño, o directamente sin un equipo de datos, esto puede resultar costosísimo.

Así que la idea es ofrecer un premio jugoso para atraer a un montón de científicos de datos que estén dispuestos a invertir su tiempo y conocimiento y presentar su solución.

Con esto consiguen diversificar las soluciones limitando el coste de la solución al valor del premio final que han ofrecido.

La empresa gana, el que obtiene la mejor solución, también gana. Y el resto de participantes aprende porque en muchas ocasiones la solución ganadora se hace pública.

Los primeros años de la plataforma fueron una fantasía. 

Kaggle era el lugar en el que se juntaban todos los ninjas de los datos para competir y los premios que ofrecían las empresas eran súper generosos.

The place to be.

Grandes figuras del Machine Learning actual han participado en competiciones de Kaggle y muchos de los modelos de Machine Learning que hoy se usan regularmente aparecieron como solución a una competición en la plataforma.

Geoff Hinton, el padrino de las redes neuronales profundas, ganó una competición en 2012.

François Chollet, lanzó la librería de aprendizaje profundo Keras durante una competición de Kaggle.

El modelo XGBoost también apareció como solución a una competición de Kaggle.

Viendo el éxito y el potencial de la plataforma en 2017 Google anunciaba la compra de Kaggle.

Las competiciones de Kaggle

La gente llega a Kaggle por las competiciones.

Las competiciones de Kaggle presentan desafíos que atraen a gente motivada que quiere seguir aprendiendo y midiendo sus habilidades y conocimientos frente a los de otros.

Además, al participar en estas competiciones, existe la oportunidad no sólo de ganar un premio en metálico sino de obtener reconocimiento dentro de una comunidad global. Que tu nombre aparezca en las primeras clasificaciones de un marcador mola bastante y no sería la primera vez que un participante con buena clasificación recibe  alguna oferta de trabajo.

¿Cómo funcionan las competiciones de Kaggle?

Cada competición tiene su propia página que proporciona detalles importantes como los premios, el número de equipos participantes y el tiempo que falta para que la competición termine ya que las competiciones pueden durar varias semanas.

Una vez que os habéis apuntado a una competición podéis acceder a los datos de entrenamiento y empezar a trabajar en vuestro modelo.

Cada competición tiene un foro de discusión en el que los participantes comparten ideas, lo que a menudo puede llevar a mejorar vuestras soluciones o a inspiraros.

Durante la competición, podéis ir enviando vuestras soluciones al motor de evaluación de Kaggle. 

Cuando enviáis vuestras predicciones sobre los datos de test lo que obtenéis es una puntuación y una posición en el marcador público. Esta posición refleja el rendimiento de vuestro modelo en una parte del conjunto de datos de prueba y se va actualizando con cada envío.

Normalmente el número de veces que podéis evaluar la solución de vuestro modelo cada día está limitado y depende de la competición.

Antes de que finalice la competición, tendríais que seleccionar un número determinado de vuestras soluciones, que depende de cada competición, para la evaluación final en un conjunto de datos de prueba que, esta vez, es privado. 

Estos resultados determinan el marcador final y el ranking de la competición.

Una vez se termina la competición y se declara al vencedor muchos participantes comparten sus estrategias, soluciones y códigos en el foro de discusión,lo cuál es súper interesante a nivel de aprendizaje. 

Críticas a Kaggle

Kaggle ha recibido bastantes críticas desde que comenzó.

De hecho, la ciencia de datos de competición sigue siendo un tema de debate hoy en día.

Por un lado hay quien piensa que Kaggle proporciona una percepción falsa de lo que realmente es el aprendizaje automático, ya que se centra únicamente en puntuar bien en un ranking.

En las competiciones de Kaggle puntúan mejor a quién mejor optimiza la métrica de la competición y mucha gente cree que es solo un juego de optimización de hiperparámetros y ensamblaje de muchos modelos solo para raspar un poco más de precisión y quedar mejor en el ranking.

En el mundo real entran muchos otros factores en juego a la hora de diseñar una solución de Machine Learning, como la complejidad, el coste… vamos que tiene que compensar lo de intentar arañar esa precisión extra.

O sea que las soluciones de las competiciones suelen ser demasiado complicadas para ser implementadas.

Esto hace que mucha gente perciba a Kaggle en particular, o a la ciencia de datos de competición en general , como algo alejado de la realidad. 

Además, en Kaggle te dan de partida un conjunto de datos bien preparado para empezar a entrenar un modelo, y esto, en la vida real no pasa. 

En la vida real el dataset de entrenamiento generalmente se construye a lo largo del camino basándose en la refinación de especificaciones empresariales y la comprensión del problema en cuestión. 

Resumiendo, que las críticas a Kaggle y a la ciencia de datos de competición vienen básicamente desde la perspectiva de que no se pueden comparar las clasificaciones de Kaggle con otros tipos de experiencia laboral. 

Posiblemente, obtener un buen rendimiento en Kaggle, cosa que por cierto no es nada fácil tampoco porque ahí hay un montón de gente echando horas y compitiendo a un nivel muy alto, no lleve una oferta de trabajo asociada de manera directa.

Habilidades que podemos adquirir en Kaggle

Kaggle lo que puede hacer es proporcionaros algunas habilidades muy útiles en la modelización de datos y problemas y en la validación de modelos. También se obtiene mucha exposición a muchas técnicas diferentes y problemas de datos y negocios distintos.

Por otro lado, las competiciones de Kaggle permiten ejercitar en cierta manera nuestra creatividad y nuestras habilidades de resolución de problemas. 

Aprender Ciencia de datos en Kaggle

Hay un punto muy infravalorado de Kaggle que es usarlo para aprender.

Microcursos

Además de haber una sección gratis con microcursos, que enseñan lo básico de Pandas, de Python, de ingeniería de características y de otras muchas cosas, también se puede aprender mucho de todos los tipos de problemas y cómo los plantean otros ninjas de los datos a través de los foros de discusión y los notebooks.

Comunidad

Y está la comunidad.

Muchos de los participantes en Kaggle comparten ideas, estrategias y soluciones y participando de manera consistente y aportando valor a la vez que también se disfruta del valor aportado por otros se puede hacer una red de contactos de los que aprender y que, quien sabe, tal vez podrían ayudarnos algún día en algún proceso de selección.

Además que está muy guay estar en contacto, aunque sea virtual,con otros ninjas de los datos.

Así que Kaggle funciona así como de una manera más indirecta para ayudarnos en nuestra carrera como ninjas de los datos. 

Por supuesto, hay casos de participantes que han acabado con una oferta de trabajo tras participar en Kaggle, especialmente en los inicios de la plataforma.

Ahora eso se ve mucho menos.

¿Cómo aprovechar Kaggle al máximo?

Lo que pasa es que es muy fácil perderse en las inmensidades de Kaggle. 

Suele ser bastante habitual llegar de nuevas, apuntarse a una competición cualquiera y frustrarse cuando ni siquiera aparecemos en los rankings en nuestros primeros intentos.

Como digo, hay bastante nivel en la plataforma, millones de usuarios y las competiciones con premio han ido aumentando el nivel.

Al final, las empresas han ido formando sus propios equipos de datos y todas aquellas soluciones de modelos de Machine Learning a partir de datos tabulares que hace unos años no eran capaces de desarrollar de manera interna y tenían que recurrir a publicar una competición en Kaggle con premios jugosos para atraer talento de todo el mundo pues ya las pueden desarrollar ellas solitas y poner a sus propios equipos de datos a trabajar internamente.

Esto ha pasado sobretodo con las competiciones de datos tabulares, que prácticamente han desaparecido de la plataforma.

Al menos las que tenían asociado un premio en metálico.

Ahora las competiciones con premio suelen ir más por los modelos del lenguaje, la visión por ordenador, el aprendizaje por refuerzo y modelos más complejos.

Entonces, llegamos de nuevas y nos enfrentamos a un problema complicado con un nivel de competitividad alto pues hay mucha gente que desiste enseguida porque no ve cómo aprovechar Kaggle.

El Libro de Kaggle

Para evitarlo viene bien una guía para aprovechar Kaggle al máximo, no sólo para obtener mejores resultados en las competiciones, que tambien, sino para sacar el máximo rendimiento de la plataforma.

En el libro explican cómo funciona la plataforma en sí. Tanto las competiciones, como los foros de discusión, la cantidad INGENTE de datasets que hay para que podáis usar en cualquier problema que se os ocurra modelar.

Pero es que además del funcionamiento de la plataforma en sí el libro también explica con ejemplos y con código conceptos fundamentales y avanzados del aprendizaje automático.

Por ejemplo, el modelado de datos tabulares y cómo afinar los modelos a través de la optimización de hiperparámetros.

También hay un capítulo dedicado a las métricas.

Y, por supuesto, capítulos dedicados a la visión por ordenador y al procesamiento de lenguaje natural.

Así que, libro muy recomendado, muy útil para sacarle todo el partido a Kaggle, que ya os digo que tiene valor mucho más allá de las competiciones.

Se puede aprender muchísimo.

Espero que el episodio de hoy os sea de provecho y que aprendáis algo de valor. 

Si es así, no olvidéis dejar una valoración de 5 estrellas del podcast en Apple podcasts, en Spotify, en Ivoox o donde quiera que escuchéis el podcast. 

Recordad que si tenéis cualquier duda o pregunta podéis contactar conmigo a través del formulario de contacto o podemos seguir la conversación en Twitter.

Muchas gracias por estar ahí y os espero en el próximo episodio de Un Podcast Ninja sobre Big Data.

Accede a todo el contenido premium

Ya no necesitas pagar cientos de euros por un Bootcamp para convertirte en ninja de los datos. Por solo 17€/mes (o menos 🤯), obtén acceso al podcast premium, a todos los tutoriales y a los resúmenes de los libros más top sobre Machine Learning y Ciencia de datos y aprende a tu ritmo.
¡Empieza ahora!
Copyright © 2024  · Datos 🥷 · Todos los derechos reservados