Competencia de Kaggle | Lista de problemas de Kaggle

Contenidos

Introducción

¿Tengo las habilidades necesarias para participar en las competiciones de Kaggle?

¿Alguna vez te enfrentaste a esta pregunta? Al menos lo hice, cuando era 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 pisas el agua, no puedes ver qué tan profunda es». Una filosofía similar se aplica a Kaggle. ¡No concluyas hasta que lo pruebes!

kaggle-logo-transparent-300-1024x465-5658914

Kaggle, el hogar de la ciencia de datos, proporciona una plataforma global para competencias, 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 premio en dinero atractivo.

Sin embargo, la gente duda en participar en estos concursos. A continuación se enumeran algunas de las principales razones:

  1. Menosprecian su nivel de habilidades, conocimientos y técnicas adquiridas.
  2. Independientemente de su nivel de habilidades, eligen el problema que ofrece el mayor premio en metálico.
  3. No logran confundir su nivel de habilidad con el nivel de dificultad del problema.

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

¿Qué aprenderá en este artículo?

En este artículo, hemos abierto el punto muerto para elegir el problema de kaggle apropiado de acuerdo con su conjunto de habilidades, herramientas y 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 la analítica 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 en lo que trabajar

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

Lista de problemas de Kaggle

1. Titanic: aprendizaje automático a partir de desastres

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.

titanic-4547234

Nivel de dificultad

a) Habilidades de aprendizaje automático: fácil

b) Habilidades de codificación: fácil

c) Adquirir habilidades de dominio: fácil

d) Tutoriales disponibles – Muy completo

2. Primer paso con Julia

Objetivo: Este es un problema para identificar personajes en la imagen de Google Street View usando una próxima herramienta, Julia.

julia-5605648

Nivel de dificultad en cada uno de los atributos:

a) Habilidades de aprendizaje automático: fácil

b) Habilidades de codificación – Medio

c) Adquirir habilidades de dominio: fácil

d) Tutorial disponible – Completo

3. Reconocedor de dígitos

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

Nivel de dificultad en cada uno de los atributos:

a) Habilidades de aprendizaje automático: medio

b) Habilidades de codificación – Medio

c) Adquirir habilidades de dominio: fácil

d) Tutorial disponible: disponible pero sin agarre de la mano

4. Bolsa de palabras con Bolsa de palomitas de maíz

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

Es un paquete fantástico que le 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 su algoritmo puede generar analogías como: Rey – Hombre + Mujer le dará Reina.

popcorn-3400048

Nivel de dificultad en cada uno de los atributos:

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

b) Habilidades de codificación – Medio

c) Adquirir habilidades de dominio: fácil

d) Tutorial disponible – Disponible pero sin agarre de la mano

5. Eliminación de ruido 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 utilizar el aprendizaje automático para hacerlo perfecto.

documents-3979703

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) Adquirir habilidades de dominio: difícil

d) Tutorial disponible – No

6. Clasificación de delitos de San Francisco

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

san-francisco-4992579

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) Adquirir habilidades de dominio: difícil

d) Tutorial disponible – No

7. Tiempo / ubicación de predicción de la trayectoria del taxi

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

taxi-1-6609405

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) Adquirir habilidades de dominio: medio

d) Tutorial disponible: algunos códigos de referencia disponibles

8. Reclutamiento de Facebook: humano o bot

Objetivo: Si tiene un problema para comprender un nuevo dominio, debe resolver este. Se le dan los datos de la licitación y se espera que clasifique al postor en bot o humano. Esta tiene la fuente de datos más rica disponible de todos los problemas en Kaggle.

fb-7912754

Nivel de dificultad en cada uno de los atributos:

a) Habilidades de aprendizaje automático: medio

b) Habilidades de codificación – Medio

c) Adquirir habilidades de dominio: medio

d) Tutorial disponible: no hay soporte disponible ya que es un concurso de reclutamiento

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

¡Ahora buscaremos el enfoque correcto para las personas que tienen diferentes conjuntos de habilidades en diferentes etapas de la vida para comenzar su viaje de 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 ha visitado el taxi. Si puede desglosar esto, obtener una estimación inicial sobre el 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: Su próximo paso debería ser tomar: Titanic. La razón es que ahora ya comprenderá cómo manejar conjuntos de datos complejos. Por lo tanto, ahora es el momento perfecto para intentar resolver 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 el reclutamiento de Facebook. Esto lo ayudará a apreciar cómo comprender el dominio puede ayudarlo a aprovechar al máximo el aprendizaje automático.

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

Caso 2: he estado en la industria de la analítica durante más de 2 años, pero no me siento cómodo con R / Python

Paso 1: Deberías empezar por hacer una foto en Titanic. La razón es que ya sabe cómo construir un algoritmo predictivo. Ahora debería esforzarse por aprender lenguajes como R y Python. Con una gran cantidad de soluciones / scripts disponibles, podrá construir diferentes tipos de modelos tanto en R como en Python. Este problema también lo ayudará a comprender algunos algoritmos avanzados de aprendizaje automático.

Paso 2: El siguiente paso debería ser el reclutamiento de Facebook. La razón es que, dada la simplicidad de la estructura de datos y la riqueza del contenido, podrá unir tablas correctas y hacer un algoritmo predictivo sobre esta. Esto también lo ayudará a apreciar cómo comprender el dominio puede ayudarlo a aprovechar al máximo el aprendizaje automático.

Sugerencias: Ahora está listo para algo muy diferente a su zona de confort. Lea problemas como 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 intente aplicar lo que ha aprendido hasta ahora.

Ahora es el momento de probar algo más complejo de codificar. Pruebe la predicción de la trayectoria del taxi o la eliminación de ruido de documentos sucios. Una vez que tenga todas estas piezas en su lugar, ahora puede intentar cualquier problema en Kaggle.

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

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

Paso 2: La segunda opción es desarrollar habilidades con un dominio adicional. Puede probar Avito Context, Search Relevance o Facebook – Human vs. Bot.

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

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

Paso 2: Entonces debería tomar: Facebook Recruiting. La razón es que, dada la simplicidad de la estructura de datos y la riqueza del contenido, podrá unir tablas correctas y hacer un algoritmo predictivo sobre esta. Esto también lo ayudará a apreciar cómo comprender el dominio puede ayudarlo a aprovechar al máximo el aprendizaje automático.

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

Pocos trucos para ser una competencia justa en Kaggle

Esta no es una lista completa de hacks, pero está destinada a brindarle un buen comienzo. La lista completa merece una nueva publicación por sí sola:

  1. Asegúrese de enviar una solución (incluso el envío de muestra 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 pasar a los datos. Por ejemplo, en el bot versus humano, debe comprender cómo funciona la plataforma de ofertas en línea antes de comenzar el viaje con datos.
  3. Cree su propio algoritmo de evaluación que pueda imitar la puntuación de la prueba de Kaggle. Una simple validación cruzada de 10 veces generalmente funciona bien.
  4. Intente extraer tantas características como sea posible de los datos del tren; la ingeniería de características suele ser la parte que lo empuja desde el percentil 40 superior al percentil 10 superior.
  5. Por lo general, un solo modelo no lo coloca en el top 10. Necesita hacer muchos modelos y ensamblarlos. Pueden ser múltiples modelos con diferentes algoritmos o diferentes conjuntos de variables.

Notas finales

Hay múltiples beneficios de los que me he dado cuenta después de trabajar en los problemas de Kaggle. Aprendí R / Python sobre la marcha. Creo que es la mejor forma de aprender lo mismo. Además, interactuar con personas del foro de discusión sobre varios problemas lo ayudará a obtener una primicia más profunda sobre 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 su opinión sobre esta guía en la sección de comentarios a continuación.

Si le gusta lo que acaba de leer y desea continuar con su aprendizaje sobre análisis, suscríbete a nuestros correos electrónicos, Síguenos en Twitter o como nuestro pagina de Facebook.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.