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