Todo lo que tienes que saber sobre Kaggle

En el campo de Machine Learning, hay demasiados recursos disponibles, hay miles de lugares en línea para aprender sobre esta área, sin embargo, si eres de los que les gusta saltar la teoría y aprender haciendo, Kaggle es la mejor opción disponible para expandir tus habilidades a través de proyectos prácticos de Machine Learning.

Kaggle es una popular plataforma con excelentes recursos para aquellos que quieran aprender Machine Learning e inclusive ciencia de los datos. Cuenta con varias competiciones de Machine Learning que tienen más de 1 millón de dólares de premios y cientos de competidores. Los mejores equipos cuentan con décadas de experiencia combinada, abordando problemas ambiciosos como la mejora de la seguridad aeroportuaria o el análisis de datos satélites. Por esta razón es muy común que si eres principiantes dudes en comenzar en Kaggle, e inclusive tengas algunas de las siguientes inquietudes:

¿Cómo empiezo?

¿Me enfrentaré con equipos experimentados con más experiencia?

¿Vale la pena competir si no tengo ninguna posibilidad de ganar?

¿Las competencias acá mostradas son como los trabajos en la vida real?

Bueno si alguna vez has tenido algunas de esas preguntas, estás en el lugar correcto porque acá explicare todo lo que debes saber sobre Kaggle.

Primero que debes entender que Kaggle es un gran lugar para aprender, ya sea a través de tomar los datos y que aprendas por tu cuenta o compitiendo en las competencias. En mi opinión si te gusta aprender de manera práctica este es el lugar ideal ya que este método de enseñanza es mucho más agradable y efectivo, además la comunidad es extremadamente solidaria y siempre está dispuesta a responder preguntas o proporcionar comentarios constructivos sobre los proyectos.

Aunque se les llama competencias, en realidad se deberían llamar “proyectos de colaboración” porque el objetivo principal no es necesariamente ganar, sino practicar y aprender de otros especialistas. Una vez que te das cuenta de que no se trata tanto de golpear a los demás sino más bien de expandir tus propias habilidades, obtendrás mucho más de las competencias. Recuerda que cuando te registras en la página de Kaggle, no solo obtienes todos los recursos, sino que también formas parte de una comunidad de expertos con muchos años de experiencia.

Todo lo que tienes que saber de Kaggle 1

Ahora bien, expliquemos los términos fundamentales que se manejan acá en Kaggle:

Competiciones: esta es la razón de que Kaggle se haya creado, estas pruebas de habilidad de modelado de Machine Learning son una excelente manera de aprender las técnicas en esta área y perfeccionar tus habilidades en problemas interesantes utilizando datos reales.

Dataset o conjuntos de datos: se dispone de decenas de miles de conjuntos de datos de todos los tipos y tamaños diferentes que puedes descargar y usar de manera gratuita. Este es el lugar ideal si estas buscando datos interesantes para explorar o poner a prueba tus habilidades con los algoritmos de Machine Learning.

Kernels: estos son entornos de programación en línea que se ejecutan en los servidores de Kaggle, se puede escribir scripts en Python, R o Julia. Estos núcleos son completamente gratuitos y son un gran recurso ya que no tienes que preocuparte en configurar ni instalar nada en tu computador. Los kernels se pueden utilizar para analizar cualquier conjunto de datos y competir en competiciones de Machine Learning.  Puedes copiar y construir en kernels existentes de otros usuarios y compartirlos con la comunidad para obtener comentarios.

Discusiones: es un lugar para hacer preguntas y obtener consejos de miles de expertos en la comunidad de Kaggle.

Aprender: una serie de pistar de Machine Learning y de la ciencia de datos que cubren SQL y Deep Learning, todos usando Jupyter Notebooks.

Conociendo las características generales de Kaggle veamos ahora con más detalle lo que podemos encontrar acá. Los dos concursos que son más adecuados para principiantes y que tienen sus propios tutoriales son predecir la supervivencia en el Titanic, un problema de clasificación binaria, y los precios de las viviendas, un problema de regresión. Es recomendable, si eres principiante realizar ambos para que vayas entendiendo el entorno.

Al acceder a cualquier de estos te vas a encontrar con varias pestañas, expliquemos cada una de ellas:

Descripción: en esta se realiza una descripción general de cada competencia, puedes ver información básica sobre la competencia y sus conjuntos de datos, la métrica de evaluación por la que se puntuarán las propuestas y las preguntas frecuentes específicas de la competencia.

Datos: puedes ver una breve descripción de los datos. Acá, por lo general, encontrarás tres archivos, train.csv, test.csv y data_description.txt, este último es muy importante ya que contiene una descripción mucho más detallada de los datos.

Kernels: ya explicamos este término, pero ten en consideración que esta pestaña es muy importante para explorar como principiante. Acá puedes explorar distintos kernels de los usuarios para observar la metodología usada por ellos, así como explicaciones, visualizaciones y resultados de la competencia. Sin embargo, en ocasiones los kernels pueden ser abrumadores, carentes de explicaciones conceptuales o asumiendo conocimiento previo, en otras palabras, a menudo muestran lo que funciona, pero a veces no cómo llegaron allí o por qué funciona, por lo que hay que buscar bien denro de esta pestaña.

Discusiones: este es otro término ya explicado, este es un foro específico de la competencia, sin embargo, no lo subestimes, en las competencias populares, a menudo contiene información valiosa, ya que los términos de la competencia a veces requieren que los participantes compartan públicamente cualquier información externa que utilicen en el tablero de Discusiones.

Líderes: acá se muestra los usuarios o equipos que se entran arriba en la competencia.

Reglas: en esta pestaña se muestra las reglas de las competencias, esta es muy importante leerlas si estas participando en competencias de alto nivel.

Equipos: gestiona a los miembros de tu equipo si decides formar un equipo.

Mis envíos: ve tus presentaciones anteriores y selecciona las últimas para usar en la competencia.

Si ya conoces lo básico de Kaggle ahora te voy a explicar como empezar a utilizarlo:

Paso 1: elige un lenguaje de programación

Lo primero que debes hacer es elegir un lenguaje de programación y seguir con él, puedes elegir entre Python, R o Julia, los dos primeros son los más populares en Kaggle y en la comunidad. Si apenas te estás iniciando te comiendo que elijas Python porque es un lenguaje de programación de propósito general que puede usarse de principio a fin, además tiene una comunidad muy amplia en donde podrás encontrar solución a dudas y problemas que encuentres con él.

Paso 2: aprende los conceptos básicos de la exploración de datos

Este paso se refiere a realizar un análisis exploratorio, es decir la capacidad de cargar, navegar y trazar los datos. Este sería el primer paso en cualquier proyecto ya que acá te informas de las diversas decisiones que puedes tomar a lo largo del entrenamiento del modelo.

Paso 3: entrena tu modelo de Machine Learning

Acá la clave es desarrollar los buenos hábitos para el desarrollo de proyectos de Machine Learning, como dividir el conjunto de datos en conjuntos de entrenamiento y de prueba por separado, validación cruzada para evitar el sobreajuste y el uso de métricas de rendimiento adecuadas.

Tienes que tomar en cuenta que las competiciones de Kaggle, se dividen en varias categorías:

Destacados: por lo general, están patrocinados por empresas, organizaciones o incluso gobiernos, por lo tanto, ellos tienen los mayores fondos de premios.

Investigación: están orientadas a la investigación y tienen poco o ningún premio en efectivo.

Reclutamiento: son patrocinados por empresas que desean contratar especialistas en esta área. Estas son poco comunes.

Primeros pasos: estos están estructurados como concursos destacados, pero no tienen grupos de premios. Ofrecen conjuntos de datos más sencillos, muchos tutoriales y posibilidad para ingresar los modelos en cualquier momento. Estos precisamente son los ideales si estas aprendiendo ya que cuenta con el respaldo de muchos tutoriales creados por la comunidad.

Todo lo que tienes que saber de Kaggle

Un buen método para lanzarse a una competencia es encontrar algún proyecto que te interese o te llame la atención y dentro de él buscar algún kernel que alguien haya compartido con una buena puntuación en la tabla de líderes, mover el kernel, editarlo para intentar mejorar el puntaje y luego ejecutarlo para ver los resultados. Luego, haz el kernel público para que otros puedas usar tu trabajo e inclusive para realizar comentarios, de esta forma es muy fácil aprender y mejorar las habilidades.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *