Do Zero ao Leaderboard: O Guia Passo a Passo Para Submeter Seu Primeiro Projeto no Kaggle
Se você está entrando no mundo da Ciência de Dados, provavelmente já ouviu falar do Kaggle. É a maior comunidade de dados do mundo, mas convenhamos: a primeira vez que você entra lá, a quantidade de abas, notebooks e datasets pode ser intimidante.
“Por onde eu começo?”, “Como eu envio meu código?”, “O que é um Kernel?”.
Neste guia vamos trazer um passo a passo do processo completo de submissão de um projeto, desde a escolha do desafio até ver seu nome no ranking global.
Estamos considerando que você sabe o que é Ciência de Dados e o que é Linguagem Python. Se não for o caso, então comece primeiro pelo curso gratuito: Fundamentos de Linguagem Python – Do Básico a Aplicações de IA.
Vamos começar? Acesse o site do Kaggle e crie sua conta gratuita.
O Que São Competições do Kaggle?
Competições do Kaggle são desafios online de Ciência de Dados e Aprendizado de Máquina (Machine Learning) onde empresas, governos ou institutos de pesquisa disponibilizam conjuntos de dados (datasets) e um problema específico para ser resolvido pela comunidade global.
As competições funcionam da seguinte forma:
O Desafio: Os participantes baixam os dados de treino e constroem modelos preditivos (algoritmos) para solucionar o problema proposto.
A Avaliação: As soluções são submetidas e avaliadas automaticamente por uma métrica objetiva (como acurácia ou erro médio).
O Ranking: Os resultados geram uma pontuação que posiciona o participante em um Leaderboard (ranking) público.
Essas competições podem valer prêmios em dinheiro (muitas vezes valores altos), oportunidades de recrutamento ou apenas pontos de reputação e aprendizado (“Kaggle Points”).
Passo 1: Escolhendo a Batalha Certa (O Desafio)
O Kaggle divide as competições em categorias. Vejamos as áreas principais dentro do site do Kaggle.
Getting Started: Aqui é o ponto de partida. Competições como Titanic ou House Prices não valem dinheiro, mas são perfeitas para entender a dinâmica.
Featured: Os desafios “para valer”, geralmente valendo prêmios em dinheiro e pontos no ranking oficial.
Research/Playground: Desafios mais experimentais ou focados em aprendizado contínuo.
Dica Pro: Se é sua primeira vez, ignore os prêmios. Vá direto para a competição “Titanic – Machine Learning from Disaster”. É o rito de passagem de todo Cientista de Dados.
Passo 2: Entendendo as Regras do Jogo
Ao clicar na competição, não baixe os dados imediatamente. Vá para a aba Overview e depois Evaluation.
Aqui está o segredo: Você precisa saber exatamente como seu modelo será julgado.
- É Acurácia?
- É Log Loss?
- É RMSE (Root Mean Squared Error)?
Se você otimizar seu modelo para a métrica errada, seu resultado será ruim, não importa quão complexo seja seu código.
Passo 3: O Ambiente de Trabalho (Kernels vs. Local)
Você tem duas opções para trabalhar nos dados:
- Localmente: Baixar os arquivos da aba “Data”, trabalhar no Jupyter Notebook do seu PC e depois subir o resultado.
- Kaggle Notebooks (Kernels): Clicar em “New Notebook” dentro da competição.
Recomendação: Use o Kaggle Notebooks. Ele já vem com as bibliotecas instaladas, acesso direto aos dados e GPUs gratuitas. É só clicar e escrever seu código para resolver o problema alvo da competição que você escolheu.
Passo 4: Mão na Massa (O Código)
Este post foca no processo de submissão, mas aqui está o checklist básico do que seu código deve fazer:
- Carregar os dados: Ler os arquivos train.csv e test.csv.
- EDA (Análise Exploratória): Entender as variáveis.
- Pré-processamento: Limpar nulos, transformar texto em números, etc…
- Treino do Modelo: Usar o train.csv para ensinar seu algoritmo (Random Forest, XGBoost, etc.).
- Predição: Usar o modelo treinado para gerar previsões baseadas no test.csv.
Passo 5: Gerando o Arquivo de Submissão
Este é o passo onde muitos iniciantes travam. O Kaggle não avalia seu código diretamente; ele avalia um arquivo CSV com suas previsões, ou seja, avalia o resultado do seu trabalho.
Na aba “Data” da competição, normalmente existe um arquivo chamado sample_submission.csv. Esse é o gabarito de formato e arquivo que você deve gerar ao final do trabalho.
Seu arquivo final deve ter:
- O mesmo número de linhas do arquivo de teste.
- As mesmas colunas (geralmente um ID e a variável alvo).
- O mesmo nome de cabeçalho.
Exemplo em Python (Pandas) para gerar o arquivo de submissão ao final do trabalho:
# Criando o DataFrame final
submissao = pd.DataFrame({
‘PassengerId’: test_df[‘PassengerId’], # ID vindo do dataset de teste
‘Survived’: minhas_predicoes # Previsões
})
# Salvando sem o índice (MUITO IMPORTANTE)
submissao.to_csv(‘minha_submissao.csv’, index=False)
Passo 6: A Hora da Verdade (Submetendo)
Agora que você tem o arquivo minha_submissao.csv, vamos enviá-lo. Existem duas formas principais:
Método A: Se você usou um Kaggle Notebook (Recomendado)
- No canto superior direito do seu notebook, clique em “Submit” (se disponível) ou “Save Version”.
- Se salvar a versão, selecione “Save & Run All”.
- Após o processamento, vá até a visualização do notebook salvo.
- Role até a seção “Output”, encontre seu CSV e clique em “Submit to Competition”.
Método B: Upload Manual
- Vá para a página principal da competição.
- Clique no botão preto “Submit Predictions”.
- Arraste seu arquivo CSV para a área de upload.
- Escreva uma breve descrição (ex: “Random Forest v1”).
Passo 7: O Leaderboard
Assim que o upload terminar, o Kaggle calculará sua pontuação automaticamente em alguns segundos.
Você verá duas coisas:
- Seu Score: A nota baseada na métrica de avaliação.
- Sua Posição: Onde você está em relação aos outros competidores.
Nota Importante: O que você vê é o Public Leaderboard. Ele é calculado usando apenas uma parte dos dados de teste. O vencedor real só é decidido no Private Leaderboard ao final da competição. Isso evita que as pessoas “decorem” as respostas do teste.
Conclusão: Não Pare na Primeira Tentativa!
Parabéns! Você é oficialmente um Kaggler. 🎉
Mas o trabalho não acabou. A Ciência de Dados é iterativa. Volte ao seu código, melhore o tratamento dos dados, teste outro algoritmo e submeta novamente. O Kaggle permite várias submissões por dia (geralmente 5 a 10).
Seu objetivo agora não é vencer o número 1 do mundo, mas vencer a sua versão de ontem. Use o Kaggle como ambiente para desenvolver as habilidades de Ciência de Dados que você estiver aprendendo.
Já participou de competição no Kaggle? Deixe nos comentários qual foi a primeira competição que você encarou e como foi sua experiência!
Equipe DSA