Mejora las habilidades de tu organización en AA/IA con Kaggle

1. Introducción

47566e1490c16443.png

Última actualización: 10/05/2024

¿Qué es Kaggle?

Kaggle es la comunidad de IA y AA más grande, y la plataforma definitiva para que los entusiastas de la ciencia de datos y el aprendizaje automático de todos los niveles mejoren sus habilidades con las técnicas y tecnologías más recientes. Descubre un amplio repositorio de conjuntos de datos, notebooks y modelos previamente entrenados para comenzar tu próximo proyecto. Participa en competencias, aprende con cursos y conéctate con una comunidad diversa de más de 18 millones de usuarios de todo el mundo. No importa si eres principiante o un profesional experimentado, Kaggle es el lugar ideal para perfeccionar tus habilidades, mantenerte a la vanguardia y colaborar en proyectos de vanguardia.

Qué compilarás

En este codelab, crearás, configurarás y lanzarás una competencia de Kaggle. Analizarás la experiencia de la competencia y comprenderás las prácticas recomendadas para llevar a cabo una competencia atractiva.

Qué aprenderás

  • Comprende cómo crear y administrar una competencia de Kaggle desde el punto de vista del organizador
  • Navega por la experiencia de la competencia, desde la exploración hasta el envío
  • Conoce las prácticas recomendadas para organizar una competencia atractiva

Este codelab se enfoca en crear una competencia rápidamente y aprovecha la creciente biblioteca de competencias de Kaggle.

Requisitos

  • Un navegador web reciente
  • Conocimientos básicos de Python

2. Cómo prepararte

Crea una cuenta de Kaggle

Visita el sitio web de Kaggle (https://www.kaggle.com/) y haz clic en "Registrarse" para crear una cuenta gratuita.

Verifica tu cuenta

  1. En la esquina superior derecha de la página, haz clic en tu imagen de perfil.
  2. Haz clic en "Tu perfil".
  3. Haz clic en el botón "Configuración" que se encuentra a la derecha del contenido del perfil.
  4. En "Verificación telefónica", sigue las instrucciones para verificar tu cuenta.

3. Cómo crear tu primera competencia

Presentamos las plantillas de competencia generadas por IA

Las Competencias generadas por IA son una nueva función de Kaggle que permite a los usuarios crear competencias de aprendizaje automático de forma rápida y sencilla. Aprovecha la IA para generar conjuntos de datos sintéticos que imitan las propiedades estadísticas de los conjuntos de datos existentes sin contener información de identificación personal.

Aquí te mostramos cómo funciona:

  1. Elige una plantilla: Selecciona una plantilla de una lista basada en diferentes tareas de aprendizaje automático (p.ej., clasificación, regresión).
  2. La IA genera un conjunto de datos: La IA de Kaggle crea un nuevo conjunto de datos para tu competencia en función de la plantilla que elegiste. Este conjunto de datos es similar al original, pero usa un subconjunto de atributos y tiene distribuciones de atributos ligeramente diferentes.
  3. Personaliza tu competencia: Ingresa detalles básicos, como el nombre, la descripción y el cronograma de la competencia. También puedes elegir la configuración de privacidad de tu competencia.
  4. Lanzamiento: Después de finalizar los detalles y establecer un lanzamiento, podrás lanzar tu competencia.

Esta función optimiza el proceso de creación de competencias, lo que la hace accesible para más usuarios y les permite enfocarse en los aspectos de aprendizaje automático en lugar de la preparación del conjunto de datos.

Cómo crear una competencia

Navega a https://www.kaggle.com/competitions/new y selecciona "New AI Generated Competition".

2629bf77a282a46c.png

Selecciona la competencia "Regresión con un conjunto de datos de edad de cangrejos".

Detalles de la competencia

2dd2228b9d686a6e.png

Completa un nombre y un subtítulo descriptivos. Por ejemplo, podrías usar "La competencia de cangrejos de prueba de <Tus nombres>" como título y "Creé mi primera competencia para ver cómo funciona" como subtítulo. Ten en cuenta que la URL de la competencia se completa automáticamente según el título.

Visibilidad y acceso

Ahora debemos establecer la visibilidad y el acceso para la competencia.

5c7dcae412ddd574.png

Visibilidad

  • Público: Tu competencia es visible para cualquier persona en Kaggle. Aparecerá en los resultados de la búsqueda, por lo que cualquier persona interesada podrá unirse.
  • Privada: Tu competencia está oculta de la vista pública. No aparecerá en las búsquedas y solo podrán participar las personas que invites específicamente.

Quiénes pueden unirse

  • Cualquiera: Es como una política de puertas abiertas. Cualquier persona en Kaggle puede unirse a tu competencia.
  • Solo las personas que tengan el vínculo: Esta opción es más exclusiva. Generarás un vínculo especial, y solo las personas que lo tengan podrán unirse.
  • Lista de direcciones de correo electrónico restringida: Esta es la opción más controlada. Proporcionas una lista de direcciones de correo electrónico o dominios específicos (como @tuinstitucióneducativa.edu), y solo las personas con esas direcciones pueden unirse.

Más adelante, hablaremos sobre el parámetro de configuración Enable Notebooks and Models. Por el momento, asegúrate de que esté activada. Para nuestro ejemplo de competencia, establece estos parámetros de configuración en Privada y Solo las personas con el vínculo.

Lee y acepta las condiciones, y haz clic en "Crear competencia".

4. Cómo comprender y configurar tu competencia

Entre bastidores, creamos una competencia completamente nueva con un conjunto de datos único. Repasemos rápidamente la configuración de la competencia.

Pestaña Host

La pestaña de anfitrión contiene todo lo que necesitas como anfitrión para configurar correctamente tu competencia. Específicamente, consulta la lista de páginas a la derecha de la página:

bcedd6768cc4f32c.png

Detalles básicos

En esta sección, se incluye lo siguiente:

  • General
  • Privacidad, acceso y recursos
  • Cronograma
  • Puntuación y equipos

Cuando lanzamos la competencia, abordamos las secciones General y Privacidad.

Cronograma

La fecha de finalización de la competencia tiene en cuenta la zona horaria.

7141f4aea90bccb0.png

Puntuación y equipo

En la sección Puntuación y equipo, puedes controlar cuántas personas pueden unirse a un equipo, cuántas veces pueden enviar sus respuestas cada día y cuántas de sus respuestas deben elegir para la evaluación final.

5efb6387612db941.png

Imágenes

Las imágenes te permiten personalizar el banner y la miniatura de tu competencia. Esto afectará la página principal de la competencia y la entrada de la ficha de tu competencia.

6dfd442376a1c702.png

Anfitriones

Aquí puedes agregar a otros usuarios de Kaggle como organizadores de tu competencia. Otros organizadores tendrán acceso completo a tu competencia (incluido el lanzamiento).

8f8c90eb6baa7747.png

Métrica de evaluación

La pestaña Métrica de evaluación es el eje central de la competencia. Cuando creas una competencia desde cero, debes pensar con cuidado qué métrica de evaluación (o puntuación) usar, subir tu archivo de solución, definir la división de prueba pública/privada y proporcionar un envío de muestra. Sin embargo, como usamos una competencia generada, no necesitamos hacer nada de esto.

Métrica de puntuación

Esto determina cómo se puntúa un envío en comparación con el archivo de solución. Cada métrica tiene documentación y código real disponibles.

Archivo de solución

Como usamos una competencia generada, este archivo es único para tu competencia.

89fa1f42d177505a.png

El muestreo de soluciones te permite ajustar la cantidad del archivo de soluciones que se usa para calificar los envíos durante la competencia (la tabla de clasificación pública) en comparación con la cantidad de filas que se usan para determinar la tabla de clasificación final. Durante la competencia, los usuarios podrán seleccionar (según el parámetro de configuración de envíos privados calificados) cuál de sus envíos se usará para el ranking final (que aquí se denomina ranking privado).

Este proceso garantiza que los competidores no reciban recompensas por sobreajuste o por enviar una gran cantidad de envíos.

Envíos de zona de pruebas

Esto permite que los organizadores de la competencia se aseguren de que la puntuación funcione según lo previsto y que establezcan envíos de "comparativa" para que los competidores los comparen. Estos envíos de comparativas aparecerán en la tabla de clasificación.

Equipos y envíos

Durante la competencia, esto permite que los organizadores descarguen todos los resultados y administren los equipos. Antes de que comience la competencia, este campo está vacío.

Lista de tareas para el lanzamiento

Veremos esto en la siguiente sección.

5. Cómo lanzar tu competencia

50b03df072c02e6a.png

En la parte superior de la página de la competencia, haz clic en el botón "Lista de tareas".

Lista de tareas para el lanzamiento

En la lista de tareas de lanzamiento, se muestran los pasos obligatorios que debes seguir antes de lanzar una competencia. Como ya comenzamos con una plantilla de competencia, la mayoría de estos pasos ya están completados. Solo quedan dos tareas: establecer una fecha límite y actualizar las reglas de la competencia.

938b9ed7bc4e0597.png

Establecer fecha límite

Primero, haz clic en la flecha junto a Establecer fecha límite. Por lo general, los concursos duran al menos un par de meses. La duración máxima de una competencia es de un año.

Editar reglas

Las reglas del concurso deben actualizarse desde la plantilla predeterminada antes del lanzamiento. Si organizas esta competencia para una clase o un grupo, este es un buen lugar para incluir información sobre las expectativas.

Lanzamiento

¡Todo listo para el lanzamiento! ¡Anímate y lanza tu competencia! Ahora todo está listo para que se unan los competidores.

6. Experiencia de la competencia

Ahora que lanzaste tu competencia, veamos cómo es la experiencia del competidor. Veremos cómo unirte a la competencia y enviar una participación. Para ello, puedes unirte a la competencia de demostraciones de Google I/O aquí: https://www.kaggle.com/competitions/google-io-demo-competition

Cómo participar en la competencia

Después de navegar a la página principal de la competencia, haz clic en el botón "Unirse a la competencia" en la parte superior derecha y, luego, lee y acepta las reglas.

Cómo realizar tu primer envío

Ve a la pestaña de código y haz clic en “Notebook nuevo”. Se abrirá un notebook que te permitirá enviar tu participación al concurso.

Primero, leeremos los datos de entrenamiento y prueba.

# lee los datos de prueba y entrenamiento

train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')

test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')

Veamos los datos.

# echa un vistazo a algunos de los datos

train.head()

Preparemos los datos para el entrenamiento. En este caso, descartamos el sexo porque no es un valor numérico. (Sugerencia: Descubrir cómo incluir esto debería mejorar el rendimiento de tu modelo).

 # descarta los resultados de los datos de prueba

data = train.drop(columns=[‘Age', ‘Sex'])

answers = train[‘Age']

Luego, creamos un modelo. En este caso, creamos un modelo de bosque aleatorio.

# imports for the model

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestRegressor

from sklearn.metrics import mean_absolute_error

model = RandomForestRegressor()

​​# Entrena el modelo

model.fit(data, answers)

Crea un envío:

predictions = model.predict(test.drop(columns=[‘Sex']))

submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})

submission.to_csv(‘submission.csv', index=False)

Luego, puedes enviar tu participación al concurso seleccionando "Enviar participación al concurso" en el menú del lado derecho.

1cf17449cae53abe.png

Sugerencias para organizar una competencia excelente

  1. Asegúrate de incluir un notebook de inicio que realice un envío básico.
  2. Fomenta el uso de los debates y el uso compartido de notebooks al principio de la competencia.
  3. Diviértete.