
Completed
(In)Direto da Fonte Reativado
$2,000
Completed 7 weeks ago
0 team
Visão Geral
Queremos que os concorrentes saiam deste desafio tendo aprendido a usar Python para trabalhar com dados de geociência. As ferramentas serão simples de entender e pesquisar, mas terão aplicabilidade prática com dados reais e fornecerão uma base para aprendizado e crescimento futuros.
As ferramentas/métodos que serão utilizados no desafio são:
Limpeza e normalização de uma tabela de dados
Criação de um modelo simples de Machine Learning (ML)
Outras ferramentas serão apresentadas neste desafio, mas são secundárias para a conclusão do mesmo.
Contexto
Dados de geoquímica são um componente poderoso na compreensão da prospectividade dentro de uma bacia. MAS os dados também são desorganizados e repletos de erros de amostragem, metodologias de processamento diferentes e toda a gama de desafios que acompanham os dados sobre a Mãe Terra.
Você receberá uma tabela de dados da imaginária Bacia de Plutão e será solicitado a identificar a origem de cada amostra de óleo. Para resolver este desafio, você também precisará integrar diferentes informações geológicas, bem como aprimorar suas habilidades em ciência de dados.
Dados
Você receberá uma série de pontos de dados para resolver o desafio:
Amostras de geoquímica da Bacia de Plutão
Intervalos globais para famílias de óleo conhecidas
Mapa de "Kitchens" (Cozinhas) para as principais rochas geradoras
Notas de um Goequímico
Premissa Geológica
Você acaba de ser designado para explorar hidrocarbonetos na Bacia de Plutão. A Bacia de Plutão tem várias descobertas, mas muitos poços secos (dry holes). Para sua surpresa, nenhum dos trabalhos legados indica a fonte deste óleo. Pela sua experiência, você sabe que, ao entender a localização, a maturidade e o tipo de rochas geradoras em uma bacia, pode ser mais preditivo sobre o que funciona e o que falha dentro da bacia. Portanto, você decide primeiro interpretar as famílias de óleo para a bacia. A análise de famílias de óleo é feita observando os dados do traço de cromatógrafo de amostras de óleo e comparando-os com tipos de óleos conhecidos (ou seja, um marinho versus lagoa rasa). Cada família de óleo terá uma impressão digital. Ao plotar essas famílias de óleo em um mapa, um geocientista pode então tirar conclusões sobre como os hidrocarbonetos estão migrando através do sistema.
Como você acabou de iniciar este projeto, você tem apenas algumas informações:
Intervalos publicados para diferentes tipos de famílias de óleo
Amostras de óleo
Seção transversal de Megasequência através da Bacia de Plutão
Mapa de amostras e principais características geológicas.
Primeiros Passos
O Caderno Inicial (Starter Notebook) orienta você no processo de construção de um modelo de MLem Python.
Você terá que passar por várias etapas para prever as famílias de óleo:
Inspecionar e limpar as amostras de geoquímica
Construir um modelo de ML
Verificação da qualidade da saída (Quality check output)
Verificar a resposta com ThinkOnward
Vamos detalhar cada um individualmente.
Limpeza
A tabela de dados do cromatógrafo de óleo é desorganizada (messy). Os dados contêm vários problemas, incluindo valores 0 dispersos aleatoriamente por todo o conjunto de dados, diferentes escalas de números e picos nos dados (devido à lama à base de óleo). Todos esses problemas são mencionados nas "Notas de um Geoquímico". A forma como esses problemas são resolvidos dependerá de você.
Construir Modelo de ML
Poderá treinar um modelo de ML para prever as famílias de óleo. Primeiro, o modelo deve prever um teste cego nos dados com sucesso. Uma vez que seu modelo esteja treinado, ele pode ser executado nos dados do desafio para prever um rótulo. Quando você construir seu modelo, lembre-se de que esperamos que você não use coordenadas de localização de amostra (x,y) como características.
Controle de Qualidade da Saída
Os dados são imperfeitos, então não deve ser uma surpresa que a primeira rodada de previsões também seja imperfeita. Felizmente, você pode integrar outras informações geológicas para se aproximar de uma resposta perfeita.
Verificar Resposta em ThinkOnward
Você pode enviar suas previsões como arquivos CSV através do site ThinkOnward para obter uma pontuação. Essa pontuação mostra o quão próximas suas previsões estão da resposta real. Para a Avaliação Final, as melhores submissões na Tabela de Classificação Preditiva (Predictive Leaderboard) serão convidadas a enviar seu código Python totalmente reproduzível para revisão por um painel de jurados.
Avaliação Final
Procedimento para Finalistas:
Os finalistas terão acesso a um ambiente de espaço de trabalho remoto Linux.
Os finalistas terão um período definido de 5 dias para transferir seus modelos e código, instalar dependências e garantir que sua solução esteja sendo executada corretamente dentro deste ambiente.
Após o período de preparação de 5 dias, os participantes serão impedidos de acessar (locked out of) o espaço de trabalho.
A equipe ThinkOnward Challenges executará os modelos finais em uma série de dados de retenção não vistos(unseen holdout data).
A pontuação alcançada nos dados de retenção usando a métrica de pontuação da tabela de classificação preditiva determinará 90% da sua pontuação final. 10% da pontuação final avaliará as submissões com base na interpretabilidade do Jupyter Notebook enviado. A rubrica de interpretabilidade pode ser encontrada em nosso GitHub (link).
Uma submissão final bem-sucedida deve conter o seguinte:
Jupyter Notebook: Seu notebook será escrito em Python e descreverá claramente as etapas em seu pipeline.
Arquivo Requirements.txt: Este arquivo fornecerá todos os pacotes necessários para executar o treinamento e a inferência para sua submissão. Recomendamos uv para gerenciamento de pacotes (link).
Dados ou código suplementares: Inclua quaisquer dados, scripts ou códigos adicionais que sejam necessários para reproduzir seus resultados com precisão.
Checkpoints do Modelo (Se aplicável): Inclua checkpoints do modelo criados durante o treinamento para que possamos executar seu modelo.
Licença de Software: Uma licença de código aberto para acompanhar seu código.
Sua submissão deve conter as bibliotecas e suas versões e a versão do Python (>=3.10). Veja o Caderno Inicial na Aba Dados para um exemplo.
Cronogramas e Prêmios
O desafio será aberto em 7 de janeiro de 2026 e fechará em 4 de março de 2026. Os vencedores serão anunciados em 25 de março de 2026. O conjunto de prêmios principal terá prêmios concedidos para o primeiro (USD 800), segundo (USD 600) e terceiro (USD 200). Haverá uma menção honrosa de USD 400 para submissões válidas que contenham documentação excelente conforme decidido pelo painel de jurados.