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 plataforma de IA y La comunidad del AA, la mejor plataforma para entusiastas de la ciencia de datos y el aprendizaje automático de todos los niveles para subir de nivel con las técnicas y tecnologías más recientes. Descubre un vasto repositorio de conjuntos de datos, notebooks y modelos previamente entrenados para poner en marcha tu próximo proyecto. Participa en competencias, aprende de los cursos y conéctate con una comunidad diversa de más de 18 millones de usuarios de todo el mundo. Tanto si eres principiante o un profesional experimentado, Kaggle es el lugar para perfeccionar tus habilidades, mantenerte a la vanguardia y colaborar en proyectos de vanguardia.

Qué compilarás

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

Qué aprenderás

  • Comprender cómo crear y gestionar una competencia en Kaggle desde el lado del organizador
  • Explora la experiencia de la competencia, desde la exploración hasta la presentación
  • Conocer las prácticas recomendadas para realizar 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

Crear 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 "Configuración". a la derecha del contenido del perfil
  4. En "Verificación telefónica", Sigue las instrucciones para verificar tu cuenta.

3. Crear tu primera competencia

Presentamos las plantillas de competencia generadas por IA

Competencias generadas por IA es una función nueva en Kaggle que permite a los usuarios crear competencias de aprendizaje automático de manera rápida y fácil. 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.

A continuación, le indicamos cómo funciona:

  1. Elegir una plantilla: Selecciona una plantilla de una lista en función de diferentes tareas de aprendizaje automático (p.ej., clasificación o regresión).
  2. La IA genera un conjunto de datos: La IA de Kaggle crea un nuevo conjunto de datos para tu competencia a partir de la plantilla que elijas. Este conjunto de datos es similar al original, pero usa un subconjunto de atributos y tiene distribuciones de atributos ligeramente diferentes.
  3. Personalizar 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 para tu competencia.
  4. Lanzamiento: Después de finalizar los detalles y configurar el lanzamiento, estarás listo para lanzar la competencia.

Esta función agiliza el proceso de creación de la competencia, ya que hace que sea accesible para más usuarios y les permite centrarse en los aspectos del aprendizaje automático en lugar de la preparación del conjunto de datos.

Crear una competencia

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

2629bf77a282a46c.png

Seleccione el conjunto de datos “Regresión con un conjunto de datos de la edad de un cangrejo”. Competencia.

Detalles de la competencia

2dd2228b9d686a6e.png

Escribe un nombre descriptivo y un subtítulo. Por ejemplo, puedes usar la competencia "<Your Names>" y “Crear mi primer concurso 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 configurar 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: La competencia está oculta de la vista pública. No aparecerá en las búsquedas y solo podrán participar las personas a las que invites específicamente.

Quiénes pueden unirse

  • Cualquier persona: 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 podrán unirse las personas que lo tengan.
  • Lista de direcciones de correo electrónico restringidas: Es la opción más controlada. Proporcionas una lista de direcciones de correo electrónico o dominios específicos (como @tuescuela.edu), y solo las personas que tengan esas direcciones pueden unirse.

Más adelante, hablaremos en detalle sobre la configuración Habilitar notebooks y modelos. Por ahora, asegúrate de que la opción esté activada. Para nuestro ejemplo de la competencia, establece estos parámetros de configuración en Privado y Solo las personas que tengan el vínculo.

Lee y acepta los términos y haz clic en "Crear competencia".

4. Comprender y configurar a la competencia

Detrás de escena, hemos creado una competencia totalmente nueva con un conjunto de datos único. Repasemos rápidamente la configuración de la competencia.

Pestaña Host

La pestaña Host contiene todo lo que necesitas como anfitrión para configurar correctamente a la competencia. Consulta específicamente la lista de páginas en el lado derecho 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

Analizamos las secciones General y Privacidad cuando lanzamos la competencia.

Cronograma

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

7141f4aea90bccb0.png

Puntuación y Equipo

La puntuación y La sección Equipo te permite controlar cuántas personas pueden unirse a un equipo, cuántas veces pueden enviarlas cada día y cuántas de sus entregas deben elegir para la evaluación final.

5efb6387612db941.png

Imágenes

Las imágenes te permiten personalizar el banner y la miniatura para tu competencia. Esto afectará la página principal de la competencia, así como la entrada de la lista de tu competencia.

6dfd442376a1c702.png

Anfitriones

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

8f8c90eb6baa7747.png

Métrica de evaluación

La pestaña Evaluation Metric es el centro de la competencia. Cuando crees una competencia desde cero, debes pensar cuidadosamente qué métrica de evaluación (o puntuación) usar, subir tu archivo de solución, definir la división de la 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 califica un envío en relación con el archivo de solución. Cada métrica tiene documentación y código real disponibles.

Archivo de la solución

Debido a que estamos usando una competencia generada, este archivo es único para tu competencia.

89fa1f42d177505a.png

El muestreo de soluciones te permite ajustar la cantidad del archivo de solución que se usa para calificar los envíos durante la competencia (la tabla de clasificación pública) en comparación con cuántas filas 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 con puntuación) qué envíos se usarán en la tabla de clasificación final (aquí denominada Tabla de clasificación privada).

Este proceso garantiza que los competidores no reciban recompensas por sobreajuste o saturación de propuestas.

Envíos a la zona de pruebas

Esto permite a los hosts de la competencia asegurarse de que la puntuación funcione según lo previsto y les permite establecer "comparativas" que los competidores deben comparar. Estas comparativas aparecerán en la tabla de clasificación.

Equipos y Envíos

Durante la competición, esto les permite a los anfitriones descargar todos los resultados, así como administrar equipos. Este campo está vacío antes de que comience la competencia.

Lista de tareas para el lanzamiento

Abordaremos esto en la próxima sección.

5. Cómo lanzar la competencia

50b03df072c02e6a.png

En la parte superior de la página de la competencia, haz clic en la "Lista de tareas para el lanzamiento". .

Lista de tareas para el lanzamiento

La lista de tareas para el lanzamiento muestra los pasos necesarios antes de lanzar una competencia. Como ya empezamos a partir de una plantilla de competencia, la mayoría de estos pasos ya están completos. Solo quedan dos tareas pendientes: establecer una fecha límite y actualizar las reglas de la competencia.

938b9ed7bc4e0597.png

Fijar fecha límite

Primero, haz clic en la flecha que está junto a Establecer fecha límite. Las competencias suelen durar al menos un par de meses. La duración máxima de una competencia es de un año.

Edita reglas

Antes del lanzamiento, es necesario actualizar las reglas de la competencia respecto de la plantilla predeterminada. Si llevas a cabo esta competencia para una clase o un grupo, este es un buen lugar para poner información sobre las expectativas.

Lanzamiento

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

6. Experiencia de la competencia

Ahora que has lanzado la competencia, echemos un vistazo a la experiencia de la competencia. Analizaremos cómo unirte a la competencia y enviar tu postulación. Para ello, puedes unirte a la competencia de demostración de Google IO aquí: https://www.kaggle.com/competitions/google-io-demo-competition

Cómo unirse a la competencia

Después de navegar a la página principal de la competencia, haz clic en "Unirse a la competencia". en la esquina superior derecha. Luego, lee y acepta las reglas.

Cómo hacer tu primer envío

Ve a la pestaña de código y haz clic en "New Notebook". Esto abrirá un bloc de notas que te permitirá enviarlo a la competencia.

Primero, leeremos los datos de entrenamiento y prueba

Џ# lee los datos de prueba y entrenamiento

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

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

Veamos los datos.

Џ# revisa algunos de los datos

train.head()

Vamos a preparar los datos para el entrenamiento. En este caso, excluimos Sexo porque no es un valor numérico. (Pista: Descubrir cómo incluir esto debería mejorar el rendimiento de tu modelo).

📔 # quita los resultados de los datos de prueba

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

respuestas = entrenar[‘Age']

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

📔# de importaciones para el modelo

desde sklearn.model_selection importa train_test_split

de sklearn.ensemble importar RandomForestRegressor

de sklearn.metrics import mean_basic_error

modelo = RandomForestRegressor()

# entrena el modelo

model.fit(datos, respuestas)

Crea una entrega:

Π = model.predict(test.drop(columns=[‘Sex’]))

submission = pd.DataFrame({‘id&#39;: test[‘id&#39;], ‘Age&#39;: predictions})

delivery.to_csv(‘submission.csv', index=Falso)

Luego, seleccione "Enviar a la competencia" para participar en el concurso. en el menú lateral derecho.

1cf17449cae53abe.png

Sugerencias para organizar una gran competencia

  1. Asegúrate de incluir un notebook de inicio con un envío básico.
  2. Fomentar el uso de debates y compartir blocs de notas al principio de la competencia
  3. Diviértete.