Aprimore sua organização em ML/IA com o Kaggle

1. Introdução

47566e1490c16443.png

Última atualização:10/05/2024

O que é o Kaggle?

O Kaggle é a maior comunidade de IA e ML, a plataforma definitiva para entusiastas da ciência de dados e do aprendizado de máquina de todos os níveis aprimorarem seus conhecimentos com as técnicas e tecnologias mais recentes. Descubra um vasto repositório de conjuntos de dados, notebooks e modelos pré-treinados para iniciar seu próximo projeto. Participe de competições, faça cursos e interaja com uma comunidade diversificada de mais de 18 milhões de usuários do mundo todo. Seja você iniciante ou profissional experiente, o Kaggle é o lugar certo para aprimorar suas habilidades, ficar por dentro das novidades e colaborar em projetos inovadores.

O que você vai criar

Neste codelab, você vai criar, configurar e iniciar uma competição do Kaggle. Você vai conhecer a experiência do concorrente e entender as práticas recomendadas para realizar uma competição envolvente.

O que você vai aprender

  • Entenda como criar e gerenciar uma competição do Kaggle do lado do organizador
  • Navegue pela experiência do concorrente, desde a exploração até o envio
  • Aprenda as práticas recomendadas para realizar uma competição envolvente

Este codelab se concentra na criação rápida de uma competição e aproveita a crescente biblioteca de competições do Kaggle.

O que é necessário

  • Um navegador da Web recente
  • Conhecimento básico de Python

2. Etapas da configuração

Criar uma conta do Kaggle

Acesse o site do Kaggle (https://www.kaggle.com/) e clique em "Registrar" para criar uma conta sem custo financeiro.

Verificar sua conta

  1. No canto superior direito da página, clique na sua imagem do perfil.
  2. Clique em "Seu perfil".
  3. Clique no botão "Configurações" no lado direito do conteúdo do perfil.
  4. Em "Verificação por telefone", siga as instruções para verificar sua conta.

3. Como criar sua primeira competição

Apresentamos os modelos de competição gerados por IA

As competições geradas por IA são um novo recurso do Kaggle que permite aos usuários criar competições de machine learning de forma rápida e fácil. Ela usa a IA para gerar conjuntos de dados sintéticos que imitam as propriedades estatísticas de conjuntos de dados atuais sem conter informações de identificação pessoal.

Veja como funciona:

  1. Escolher um modelo: selecione em uma lista de modelos com base em diferentes tarefas de machine learning (por exemplo, classificação, regressão).
  2. A IA gera um conjunto de dados: a IA do Kaggle cria um novo conjunto de dados para sua competição com base no modelo escolhido. Esse conjunto de dados é semelhante ao original, mas usa um subconjunto de recursos e tem distribuições de recursos ligeiramente diferentes.
  3. Personalize sua competição: insira detalhes básicos, como nome, descrição e cronograma. Você também pode escolher as configurações de privacidade.
  4. Lançamento: depois de finalizar os detalhes e definir um lançamento, você estará pronto para lançar sua competição.

Esse recurso simplifica o processo de criação de competições, tornando-o acessível a mais usuários e permitindo que eles se concentrem nos aspectos de aprendizado de máquina em vez da preparação do conjunto de dados.

Criar uma competição

Acesse https://www.kaggle.com/competitions/new e selecione "New AI Generated Competition".

2629bf77a282a46c.png

Selecione a competição "Regressão com um conjunto de dados de idade de caranguejos".

Detalhes da competição

2dd2228b9d686a6e.png

Preencha um nome e uma legenda descritivos. Por exemplo, você pode usar "Teste de competição de caranguejos de <Seus nomes>" como título e "Criando minha primeira competição para ver como funciona" como subtítulo. O URL da competição é preenchido automaticamente com base no título.

Visibilidade e acesso

Agora precisamos definir a visibilidade e o acesso à competição.

5c7dcae412ddd574.png

Visibilidade

  • Pública: sua competição fica visível para qualquer pessoa no Kaggle. Ele vai aparecer nos resultados da pesquisa para que qualquer pessoa interessada possa participar.
  • Privada: sua competição fica oculta do público. Ele não vai aparecer nas pesquisas, e apenas as pessoas que você convidar poderão participar.

Quem pode participar

  • Qualquer pessoa: é como uma política de portas abertas. Qualquer pessoa no Kaggle pode participar da sua competição.
  • Somente pessoas com um link: é mais exclusivo. Você vai gerar um link especial, e somente as pessoas com esse link poderão participar.
  • Lista de e-mails restrita: é a opção mais controlada. Você fornece uma lista de endereços de e-mail ou domínios específicos (como @suaescola.edu), e somente pessoas com esses endereços podem participar.

Vamos falar mais sobre a configuração Ativar notebooks e modelos mais adiante. Por enquanto, confira se ela está ativada. Para o exemplo de conjunto de competições, defina essas configurações como Privada e Somente pessoas com o link.

Leia e concorde com os termos e clique em Criar competição.

4. Como entender e configurar sua concorrência

Nos bastidores, criamos uma competição totalmente nova com um conjunto de dados exclusivo. Vamos fazer uma revisão rápida das configurações da competição.

Guia "Host"

A guia "Organizador" contém tudo o que você precisa para configurar sua competição corretamente. Consulte a lista de páginas à direita:

bcedd6768cc4f32c.png

Detalhes básicos

Essa seção inclui:

  • Geral
  • Privacidade, acesso e recursos
  • Cronograma
  • Pontuação e equipes

Abordamos as seções "Geral" e "Privacidade" ao lançar a competição.

Cronograma

A data de término da competição considera o fuso horário.

7141f4aea90bccb0.png

Pontuação e equipe

Na seção "Pontuação e equipe", você controla quantas pessoas podem entrar em uma equipe, quantas vezes elas podem enviar por dia e quantas das próprias inscrições precisam ser escolhidas para avaliação final.

5efb6387612db941.png

Imagens

Com as imagens, você personaliza o banner e a miniatura da sua competição. Isso vai afetar a página inicial da competição e a entrada da listagem da sua competição.

6dfd442376a1c702.png

Hosts

Aqui você pode adicionar outros usuários do Kaggle como organizadores da sua competição. Outros hosts terão acesso total (inclusive lançamento) à sua competição.

8f8c90eb6baa7747.png

Métrica de avaliação

A guia "Métrica de avaliação" é o coração da competição. Ao criar uma competição do zero, você precisa pensar com cuidado sobre qual métrica de avaliação (ou pontuação) usar, fazer upload do arquivo de solução, definir a divisão de teste público/privado e fornecer um exemplo de envio. No entanto, como usamos uma concorrência gerada, não precisamos fazer nada disso.

Métrica de pontuação

Isso determina como uma resposta é avaliada em relação ao arquivo de solução. Cada métrica tem documentação e código real disponíveis.

Arquivo da solução

Como estamos usando uma competição gerada, esse arquivo é exclusivo da sua competição.

89fa1f42d177505a.png

Com a amostragem de solução, é possível ajustar a quantidade do arquivo de solução usada para pontuar envios durante a competição (o ranking público) e quantas linhas são usadas para determinar o ranking final. Durante a competição, os usuários poderão selecionar (com base na configuração "Envios particulares com pontuação") quais dos envios serão usados no ranking final (chamado de "Ranking particular").

Esse processo garante que os concorrentes não sejam recompensados por overfitting ou excesso de envios.

Envios de sandbox

Isso permite que os organizadores garantam que a pontuação funcione conforme o esperado e definam envios de "comparativo de mercado" para os concorrentes compararem. Esses envios de comparativos de mercado vão aparecer no ranking.

Equipes e envios

Durante a competição, isso permite que os organizadores baixem todas as pontuações e gerenciem as equipes. Antes do início da competição, esse campo fica vazio.

Launch Checklist

Isso será abordado na próxima seção.

5. Como lançar sua competição

50b03df072c02e6a.png

Na parte de cima da página da competição, clique no botão "Lista de verificação de lançamento".

Launch Checklist

A lista de verificação de lançamento mostra as etapas necessárias antes de lançar uma competição. Como já começamos com um modelo de competição, a maioria dessas etapas já está concluída. Faltam apenas duas tarefas: definir um prazo e atualizar as regras da competição.

938b9ed7bc4e0597.png

Definir prazo

Primeiro, clique na seta ao lado de "Definir prazo". As competições geralmente duram pelo menos alguns meses. A duração máxima de uma competição é de um ano.

Editar regras

As regras do concurso precisam ser atualizadas do modelo padrão antes do lançamento. Se você estiver organizando essa competição para uma turma ou grupo, este é um bom lugar para colocar informações sobre expectativas.

Lançamento

Tudo pronto para o lançamento! Lance sua competição! Agora você já pode convidar concorrentes para participar.

6. Experiência do concorrente

Agora que você lançou sua competição, vamos conferir como é a experiência do concorrente. Vamos abordar como participar da competição e enviar uma inscrição. Para isso, participe da competição de demonstrações do Google I/O aqui: https://www.kaggle.com/competitions/google-io-demo-competition

Participar da competição

Depois de acessar a página inicial da competição, clique no botão "Participar da competição" no canto superior direito e leia e aceite as regras.

Fazer seu primeiro envio

Acesse a guia de código e clique em "Novo notebook". Isso vai abrir um notebook que permite enviar sua participação na competição.

Primeiro, vamos ler os dados de treino e teste.

# leia os dados de teste e treinamento

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

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

Vamos analisar os dados.

# confira alguns dos dados

train.head()

Vamos preparar os dados para treinamento. Nesse caso, vamos descartar "Sex" porque não é um valor numérico. Dica: descobrir como incluir isso deve melhorar a performance do seu modelo.

 # drop out the results from the test data

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

answers = train[‘Age']

Em seguida, criamos um modelo. Neste caso, estamos criando um modelo de floresta aleatória.

# importações para o modelo

from sklearn.model_selection import train_test_split

from sklearn.ensemble import RandomForestRegressor

from sklearn.metrics import mean_absolute_error

model = RandomForestRegressor()

​​# train the model

model.fit(data, answers)

Crie uma inscrição:

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

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

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

Em seguida, selecione "Enviar para a competição" no menu à direita.

1cf17449cae53abe.png

Dicas para fazer uma ótima competição

  1. Inclua um notebook inicial que faça um envio básico
  2. Incentive o uso das discussões e o compartilhamento de notebooks no início da competição.
  3. Divirta-se!