馃帣 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.

Bolet铆n Ninja

Suscr铆bete a la newsletter y recibe la gu铆a ninja del Big Data y la Inteligencia Artificial.

Gu铆a ninja del Big Data
Copyright 漏 2024  路 Datos 馃シ 路 Todos los derechos reservados
馃捈 Aviso legal y cookies