1. Introdução
Ú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
- No canto superior direito da página, clique na sua imagem de perfil
- Clique em "Seu perfil"
- Clique no botão "Configurações" botão no lado direito do conteúdo do perfil
- 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:
- Escolher um modelo: selecione em uma lista de modelos com base em diferentes tarefas de machine learning (por exemplo, classificação, regressão).
- 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.
- 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.
- 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".
Selecione "Regressão com um conjunto de dados da idade dos caranguejos". Concorrência.
Detalhes do concurso
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.
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:
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.
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.
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.
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.
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!
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
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.
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': test[‘id'], ‘Age': 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.
Dicas para realizar uma grande competição
- Inclua um notebook inicial que faça um envio básico
- Incentive o uso de discussões e o compartilhamento de notebooks no início da competição
- Divirta-se.