Competiciones Kaggle: ¿Cómo y por dónde empezar?

Introducción

¿Tengo las habilidades necesarias para participar en Competiciones Kaggle?

¿Alguna vez se enfrentó a esta pregunta? Al menos lo hice, como estudiante de segundo año, cuando solía temer a Kaggle con solo imaginar el nivel de dificultad que ofrece. Este miedo era similar a mi miedo al agua. Mi miedo al agua no me permitía tomar clases de natación. Sin embargo, más tarde aprendí, «Hasta el momento en que no entras en el agua, no puedes ver lo profundo que es». Una filosofía similar se aplica a Kaggle. ¡No concluyas hasta que lo intentes!

Kaggle, el hogar de la ciencia de datos, proporciona una plataforma global para concursos, soluciones para clientes y bolsa de trabajo. Aquí está la captura de Kaggle, estas competiciones no solo te hacen pensar fuera de la caja, sino que también ofrecen un hermoso premio en dinero.

Sin embargo, la gente duda en participar en estas competiciones. Estas son algunas de las razones principales:

  1. Menosprecian su nivel de habilidades, conocimientos y técnicas adquiridos.
  2. Independientemente de su nivel de habilidades, eligen el problema que ofrece el premio más alto.
  3. No logran confundir su nivel de habilidad con el nivel de dificultad del problema.

Creo que este problema emana del propio Kaggle. Kaggle.com no proporciona ninguna información que pueda ayudar a las personas a elegir el problema más adecuado que coincida con su conjunto de habilidades. Como resultado, se ha convertido en una tarea ardua para principiantes/intermedios decidir para comenzar el problema adecuado.

¿Qué aprenderás en este artículo?

En este artículo, hemos abierto el punto muerto de elegir el problema kaggle apropiado de acuerdo con su conjunto de habilidades, herramientas & técnicas. Aquí, hemos ilustrado cada problema de kaggle con el nivel de dificultad y el nivel de habilidades necesarias para resolverlo.

En la última parte, hemos definido el enfoque correcto para abordar un problema de kaggle para los siguientes casos:

Caso 1 : Tengo experiencia en Codificación pero soy nuevo en el aprendizaje automático.

Caso 2 : He estado en la industria de análisis durante más de 2 años, pero no me siento cómodo con R/Python

Caso 3 : Soy bueno con la codificación y el aprendizaje automático, necesito algo desafiante para trabajar

Caso 4 : Soy un novato en el aprendizaje automático o el lenguaje de codificación, pero quiero aprender

Lista de problemas de Kaggle

Titanic : Aprendizaje automático desde el desastre

Objetivo: Un problema popular clásico para comenzar su viaje con el aprendizaje automático. Se le da un conjunto de atributos de los pasajeros a bordo y necesita predecir quién habría sobrevivido después de que el barco se hundiera.

Nivel de dificultad

a) Habilidades de aprendizaje automático – Fácil

b) Habilidades de codificación – Fácil

c) Adquisición de Habilidades de dominio-Fácil

d) Tutoriales disponibles – Muy completos

2. Primer paso con Julia

Objetivo: Este es un problema para identificar caracteres en la imagen de Google Street view utilizando una próxima herramienta Julia.

nivel de Dificultad en cada uno de los atributos :

a) Habilidades de aprendizaje automático – Fácil

b) Habilidades de codificación – Medio

c) Adquisición de habilidades de dominio-Fácil

d) Tutorial disponible – Completo

Reconocedor de dígitos

Objetivo: Se le proporcionan datos con píxeles en dígitos escritos a mano y debe decir de manera concluyente qué dígito es. Este es un problema clásico para el modelo de Markov latente.

Nivel de dificultad en cada uno de los atributos :

a) Habilidades de Aprendizaje automático – Medio

b) Habilidades de codificación – Medio

c) Adquisición de Habilidades de dominio-Fácil

d) Tutorial disponible – Disponible pero sin sostener la mano

Bolsa de palabras, Bolsa de palomitas de maíz

Objetivo: Se le da un conjunto de reseñas de películas, y necesita encontrar el sentimiento oculto en esta declaración. El objetivo de esta declaración de problemas es presentarle el paquete de Google – Word2Vec.

Es un paquete fantástico que te ayuda a convertir palabras en un espacio de dimensión finita. De esta manera podemos construir analogías solo mirando el vector. Un ejemplo muy simple es que tu algoritmo puede sacar analogías como: Rey-Macho + Hembra te dará Reina.

Nivel de dificultad en cada uno de los atributos :

a) Habilidades de aprendizaje automático – Difícil

b) Habilidades de codificación – Medio

c) Adquisición de Habilidades de dominio-Fácil

d) Tutorial disponible – Disponible pero sin sostener la mano

5. Eliminación de documentos sucios

Objetivo: Es posible que conozca una tecnología conocida como OCR. Simplemente convierte documentos escritos a mano en documentos digitales. Sin embargo, no es perfecto. Su trabajo aquí es usar el aprendizaje automático para hacerlo perfecto.

Nivel de dificultad en cada uno de los atributos :

a) Habilidades de Aprendizaje automático – Difícil

b) Habilidades de codificación – Difícil

c) Adquisición de Habilidades de dominio-Difícil

d) Tutorial disponible – No

Clasificación de Delitos de San Francisco

Objetivo: Predecir la categoría de delitos que ocurrieron en la ciudad junto a la bahía.

Nivel de dificultad en cada uno de los atributos :

a) Habilidades de Aprendizaje automático – Muy difícil

b) Habilidades de codificación – Muy difícil

c) Adquisición de Habilidades de dominio-Difícil

d) Tutorial disponible – No

Tiempo / Ubicación de Predicción de trayectoria de taxi

Objetivo: Hay dos problemas basados en los mismos conjuntos de datos. Se le da el controlador de un taxi, y se supone que debe predecir a dónde va el taxi o el tiempo que tomará completar el viaje.

Nivel de dificultad en cada uno de los atributos :

a) Habilidades de aprendizaje automático – Fácil

b) Habilidades de codificación – Difícil

c) Adquisición de Habilidades de dominio-Medio

d) Tutorial disponible – Algunos códigos de referencia disponibles

Reclutamiento de Facebook – Humano o bot

Objetivo: Si tiene un problema para comprender un nuevo domain, tienes que resolver esto. Se le dan los datos de la puja y se espera que clasifique al postor como bot o humano. Esta tiene la fuente de datos más rica disponible de todos los problemas de Kaggle.

Nivel de dificultad en cada uno de los atributos :

a) Habilidades de aprendizaje automático – Medio

b) Habilidades de codificación – Medio

c) Adquisición de Habilidades de dominio-Medio

d) Tutorial disponible – No hay soporte disponible, ya que es un concurso de reclutamiento

Nota: No he cubierto los concursos Kaggle que ofrecen premios en metálico en este artículo, ya que todos están relacionados con un dominio. Hazme saber tu opinión sobre ellos en la sección de comentarios a continuación.

¡Ahora buscaremos el enfoque correcto para que las personas que tienen diferentes habilidades en diferentes etapas de la vida comiencen su viaje a Kaggle!

Caso 1: Tengo experiencia en Codificación, pero soy nuevo en el aprendizaje automático.

Paso 1: El primer problema de kaggle que debe abordar es: Predicción de la Trayectoria del taxi. La razón es que el problema tiene un conjunto de datos complejo que incluye un formato JSON en una de las columnas que indica el conjunto de coordenadas que el taxi ha visitado. Si puede desglosar esto, obtener una estimación inicial del destino o el tiempo objetivo no necesita un aprendizaje automático. Por lo tanto, puede usar su fuerza de codificación para encontrar su valor en esta industria.

Paso 2: El siguiente paso debería ser el Titanic. La razón es que ahora ya entendería cómo manejar conjuntos de datos complejos. Por lo tanto, ahora es el momento perfecto para probar los problemas puros de aprendizaje automático. Con abundancia de soluciones / scripts disponibles, podrá construir una buena solución.

Paso 3: Ahora está listo para algo grande. Prueba con Facebook Recruiting. Esto le ayudará a apreciar cómo comprender el dominio puede ayudarlo a obtener lo mejor del aprendizaje automático.

Una vez que tenga todas estas piezas en su lugar, es bueno probar cualquier problema en Kaggle.

Caso 2: He estado en la industria de análisis durante más de 2 años, pero no me siento cómodo con R / Python

Paso 1: Debe comenzar con una toma en Titanic. La razón es que ya entiendes cómo construir un algoritmo predictivo. Ahora deberías esforzarte por aprender lenguajes como R y Python. Con abundancia de soluciones / scripts disponibles, podrá construir diferentes tipos de modelos tanto en R como en Python. Este problema también le ayudará a comprender algunos algoritmos avanzados de aprendizaje automático.

Paso 2: El siguiente paso debe ser el Reclutamiento de Facebook. La razón es que, dada la simplicidad de la estructura de datos y la riqueza del contenido, podrá unirse a las tablas correctas y hacer un algoritmo predictivo en esta. Esto también le ayudará a apreciar cómo comprender el dominio puede ayudarlo a obtener lo mejor del aprendizaje automático.

Sugerencias: Ahora estás listo para algo muy diferente de tu zona de confort. Lea problemas como la Detección de Retinopatía Diabética, Clics en Anuncios de Contexto de Avinto, Clasificación de Delitos y encuentre el dominio de su interés. Ahora trata de aplicar lo que hayas aprendido hasta ahora.

Ahora es el momento de probar algo más complejo de código. Prueba la predicción de la Trayectoria de un Taxi o la Eliminación de Documentos Sucios. Una vez que tenga todas estas piezas en su lugar, ahora puede probar cualquier problema en Kaggle.

Caso 3: Soy bueno con la codificación y el aprendizaje automático, necesito algo desafiante en el que trabajar

Paso 1: Tienes muchas opciones en Kaggle. La primera opción es dominar un nuevo idioma como Julia. Puedes empezar con el primer paso con Julia. La razón es que esto le dará una exposición adicional a lo que Julia puede hacer además de Python o R.

Paso 2: La segunda opción es desarrollar habilidades con un dominio adicional. Puedes probar el Contexto de Avito, la Relevancia de búsqueda o Facebook: Humano vs. Bot.

Caso 4: Soy un novato en el aprendizaje automático o el lenguaje de codificación, pero quiero aprender

Paso 1: Debes comenzar tu viaje kaggle con Titanic. La razón es que el primer paso para ti es aprender lenguajes como R y Python. Con abundancia de soluciones / scripts disponibles, podrá construir diferentes tipos de modelos tanto en R como en Python. Este problema también le ayudará a comprender algunos algoritmos de aprendizaje automático.

Paso 2: Luego deberías acceder a: Reclutamiento de Facebook. La razón es que, dada la simplicidad de la estructura de datos y la riqueza del contenido, podrá unirse a las tablas correctas y hacer un algoritmo predictivo en esta. Esto también le ayudará a apreciar cómo comprender el dominio puede ayudarlo a obtener lo mejor del aprendizaje automático.

Una vez que haya terminado con estos, puede abordar los problemas según su interés.

Pocos hacks para ser una competencia justa en Kaggle

Esta no es una lista completa de hacks, pero está destinada a proporcionarle un buen comienzo. La lista completa merece un nuevo puesto por sí sola:

  1. Asegúrese de enviar una solución (incluso el envío de muestras hará este trabajo) antes de la última fecha de inscripción, si desea participar en el concurso en el futuro.
  2. Comprenda el dominio antes de acceder a los datos. Por ejemplo, en el bot vs.humano, debe comprender cómo funciona la plataforma de pujas en línea antes de comenzar el viaje con los datos.
  3. Haga su propio algoritmo de evaluación que pueda imitar la puntuación de la prueba Kaggle. Una simple validación cruzada de 10 veces generalmente funciona bien.
  4. Trate de extraer tantas características como sea posible del tren: la ingeniería de características de datos suele ser la parte que lo empuja del percentil superior 40 al percentil superior 10.
  5. Un solo modelo generalmente no lo coloca en el top 10. Necesitas hacer muchos, muchos modelos y unirlos. Esto puede ser varios modelos con diferentes algoritmos o diferentes conjuntos de variables.

Notas finales

Hay múltiples beneficios que me he dado cuenta después de trabajar en problemas Kaggle. He aprendido R / Python sobre la marcha. Creo que es la mejor manera de aprender lo mismo. También interactuar con personas del foro de discusión sobre varios problemas le ayudará a obtener una primicia más profunda en el aprendizaje automático y el dominio.

En este artículo, ilustramos varios problemas de Kaggle y clasificamos sus atributos esenciales en el nivel de dificultad. También abordamos varios casos de la vida real y obtuvimos el enfoque correcto para participar en Kaggle.

¿Ha participado en algún problema de Kaggle? ¿Vio algún beneficio significativo al hacer lo mismo? Háganos saber sus pensamientos sobre esta guía en la sección de comentarios a continuación.

Si te gusta lo que acabas de leer & quieres continuar con tu aprendizaje de análisis, suscríbete a nuestros correos electrónicos, síguenos en twitter o haz clic en me gusta en nuestra página de Facebook.

También puede leer este artículo en nuestra aplicación móvil

Deja una respuesta

Tu dirección de correo electrónico no será publicada.