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?

A Kaggle é a maior plataforma de IA Comunidade de ML, a plataforma definitiva para entusiastas de ciência de dados e machine learning de todos os níveis para subir de nível 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, aprenda com 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 para aprimorar suas habilidades, ficar à frente da curva e colaborar em projetos de ponta.

O que você vai criar

Neste codelab, você criará, configurará e iniciará uma competição de Kaggle. Você vai conhecer a experiência dos concorrentes e entender as práticas recomendadas para criar uma competição interessante.

O que você vai aprender

  • Entenda como criar e gerenciar uma competição do Kaggle a partir do anfitrião
  • Navegue pela experiência da concorrência, da análise ao envio
  • Aprenda as práticas recomendadas para criar uma competição envolvente

Este codelab tem como foco a criação rápida de uma competição e aproveita a biblioteca de competição crescente do Kaggle.

O que é necessário

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

2. Etapas da configuração

Crie uma conta do Kaggle

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

Verificar sua conta

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

3. Como criar sua primeira competição

Conheça os modelos de competição gerados por IA

Competições geradas por IA é um novo recurso do Kaggle que permite aos usuários criar competições de aprendizado de máquina de forma rápida e fácil. Ele usa a IA para gerar conjuntos de dados sintéticos que imitam as propriedades estatísticas de conjuntos 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 atributos e tem distribuições de atributos um pouco diferentes.
  3. Personalizar sua concorrência: insira detalhes básicos como nome, descrição e cronograma da competição. Também é possível escolher as configurações de privacidade dos concorrentes.
  4. Lançamento: depois de finalizar os detalhes e definir um lançamento, você já pode lançar a competição.

Esse recurso simplifica o processo de criação de competição, tornando-o acessível a mais usuários e permitindo que eles se concentrem nos aspectos do machine learning, e não na preparação do conjunto de dados.

Criar uma competição

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

2629bf77a282a46c.png

Selecione "Regressão com um conjunto de dados da idade dos caranguejos". Concorrência.

Detalhes do concurso

2dd2228b9d686a6e.png

Preencha um nome descritivo e um subtítulo. Por exemplo, você pode usar a "Competição de testes de caranguejos de <Your Names>" como título e "Criar minha primeira competição para ver como funciona" como subtítulo. O URL do concurso é preenchido automaticamente com base no título.

Visibilidade e acesso

Agora precisamos definir a visibilidade e o acesso para a concorrência.

5c7dcae412ddd574.png

Visibilidade

  • Público: seus concorrentes podem ser vistos por qualquer pessoa no Kaggle. Ela vai aparecer nos resultados da pesquisa para que todos os interessados possam participar.
  • Particular: sua concorrência está oculta da visualização pública. Ele não aparecerá nas pesquisas, e apenas pessoas convidadas especificamente poderão participar.

Quem pode participar

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

Falaremos mais sobre a configuração Ativar notebooks e modelos posteriormente. Por enquanto, verifique se ele está ativado. No exemplo da concorrência, defina essas configurações como Particular e Somente pessoas com o link.

Leia e concorde com os termos e clique em Criar concorrência.

4. Entender e configurar sua concorrência

Nos bastidores, criamos uma competição completamente nova com um conjunto de dados exclusivo. Vamos revisar rapidamente as configurações da concorrência.

Guia "Host"

A guia de host contém tudo o que você precisa como host para configurar adequadamente sua concorrência. Consulte especificamente a lista à direita da página:

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

Pontuação e A seção Equipe permite que você controle quantas pessoas podem participar de uma equipe, quantas vezes podem enviar por dia e quantas delas precisam escolher para a avaliação final.

5efb6387612db941.png

Imagens

As imagens permitem que você personalize o banner e a miniatura para seus concorrentes. Isso afetará a página inicial do concurso, bem como a entrada na listagem do seu concorrente.

6dfd442376a1c702.png

Organizadores

Aqui você pode adicionar outros usuários do Kaggle como anfitriões da sua competição. Os outros organizadores terão acesso total (incluindo o lançamento) dos seus competidores.

8f8c90eb6baa7747.png

Métrica de avaliação

A guia "Métrica de avaliação" é o cerne da competição. Ao criar uma competição do zero, pense cuidadosamente sobre qual métrica de avaliação (ou pontuação) usar, faça upload do arquivo de solução, defina a divisão de teste público/privado e forneça uma amostra de envio. No entanto, como usamos uma concorrência gerada, não precisamos fazer nada disso.

Métrica de pontuação

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

Arquivo de solução

Como estamos usando uma concorrência gerada, esse arquivo é exclusivo dos seus concorrentes!

89fa1f42d177505a.png

A amostragem de soluções permite ajustar a quantidade do arquivo de solução usado para pontuar os envios durante a competição (o quadro de liderança público) em relação ao número de linhas usadas para determinar o quadro de liderança final. Durante a competição, os usuários poderão selecionar (com base na configuração de Envios particulares com pontuação) quais envios serão usados no quadro de liderança final (chamado de Placar privado aqui).

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

Envios de sandbox

Isso permite que os anfitriões da competição garantam que a pontuação funcione conforme o esperado e permite que eles definam o "benchmark" envios aos concorrentes para comparação. Esses envios de comparativo de mercado serão exibidos no quadro de liderança.

Equipes e Envios

Durante a competição, isso permite que os anfitriões façam o download de todas as pontuações e gerenciem as equipes. Antes do início da competição, este campo está vazio.

Launch Checklist

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

5. Como lançar sua concorrência

50b03df072c02e6a.png

Na parte superior da página da concorrência, clique em "Lançar lista de verificação" .

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 a partir de um modelo de competição, a maioria dessas etapas já está concluída. Restam 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 dois meses. A duração máxima de uma competição é de um ano.

Editar regras

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

Lançamento

Estamos prontos para o lançamento! Vá em frente e lance sua concorrência! Agora você já pode participar da competição!

6. Experiência da concorrência

Agora que você já lançou sua concorrência, vamos ver como é a experiência do concorrente. Vamos abordar como participar da competição e enviar uma inscrição. Participe da competição de demonstração do Google IO aqui: https://www.kaggle.com/competitions/google-io-demo-competition

Como 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, depois, ler e confirmar as regras.

Faça seu primeiro envio

Vá para a guia Código e clique em "Novo Notebook". Isso abrirá uma nota que permitirá que você envie para o concurso.

Primeiro, vamos ler os dados de treinamento e teste

鰃# ler os dados de teste e treinamento

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

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

Vamos analisar os dados.

ᰃ# analisar alguns dos dados

train.head()

Vamos preparar os dados para o treinamento. Neste caso, descartamos "sex" porque não é um valor numérico. (Dica: descobrir como incluir isso deve melhorar o desempenho do seu modelo).

鰃 # remover os resultados dos dados de teste

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

respostas = trem[‘Idade']

Em seguida, criamos um modelo. Neste caso, estamos executando um modelo de floresta aleatório.

ᰃ# importações para o modelo

de sklearn.model_selection importar train_test_split

do sklearn.ensemble, importe RandomForestRegressor

do sklearn.metrics importar mean_absolute_error

modelo = RandomForestRegressor()

# treina o modelo

model.fit(data, answers)

Criar um envio:

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

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

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

Depois, você pode enviar para o concurso selecionando "Enviar para a concorrência" no menu lateral direito.

1cf17449cae53abe.png

Dicas para realizar uma grande competição

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