{
  "fetched_at": "2026-10-18T13:59:02Z",
  "source_url": "https://www.kaggle.com/competitions/dcc-week-challenge-2023/data",
  "pages": [
    {
      "name": "data-description",
      "content": "Este desafio utiliza um conjunto de dados anotados de eletrocardiograma de 12 derivações. O conjunto de dados de treino contém 51.432 exames de cerca de 37.000 pacientes, obtido por amostragem estratificada do conjunto de dados [CODE 15%](https://zenodo.org/record/4916206#.Y--sZKrMKV6). Os dados foram coletados pela CTMG no período entre 2010 e 2016.\n\n## Arquivos de treino\n\nO arquivo `train_dccweek2023.h5` contém dois conjuntos de dados chamados `exam_id` e `tracings`. O `exam_id` é um tensor de dimensão (N,) contendo o ID do exame (o mesmo do arquivo csv) e o conjunto de dados `tracings` é um tensor de dimensão (N, 4096, 12) contendo os traçados do ECG na mesma ordem. A primeira dimensão corresponde aos diferentes exames; a segunda dimensão corresponde às 4096 amostras do sinal; a terceira dimensão corresponde às 12 diferentes derivações dos exames de ECG na seguinte ordem: {DI, DII, DIII, AVR, AVL, AVF, V1, V2, V3, V4, V5, V6}. Os sinais são amostrados a 400 Hz. Alguns sinais originalmente possuem duração de 10 segundos (10 * 400 = 4000 amostras) e outros de 7 segundos (7 * 400 = 2800 amostras). Para que todos tenham o mesmo tamanho (4096 amostras), preenchemos com zeros em ambos os lados. Por exemplo, para um sinal de ECG de 7 segundos com 2800 amostras, incluímos 648 amostras no início e 648 amostras no final, resultando em 4096 amostras que são então salvas no conjunto de dados hdf5. Em Python, é possível ler esse arquivo usando a biblioteca `h5py`, como no exemplo:\n```python\nimport h5py\n\nf = h5py.File(path_to_file, 'r')\n# Get ids\ntraces_ids = np.array(f['exam_id'])\nx = f['tracings']\n```\n\n**NOTA:** o `tracings` é um muito grande para caber em memória de desktops de uma só vez, é aconselhado ler por pedaços usando: ``x[start:end, :, :]``.\n\nPor fim, para treinamento, o arquivo `train_dccweek2023-labels.csv` contém duas colunas, `exam_id` e `classe`, associando um dado exame ao diagnóstico correspondente. Em particular, os 7 valores possíveis na coluna classe são os seguintes:\n - 0 - Nenhum diagnóstico;\n - 1 - `1dAVb`: Se o paciente tem ou não bloqueio atrioventricular de primeiro grau;\n - 2 - `RBBB`: Se o paciente tem ou não bloqueio de ramo direito;\n - 3 - `LBBB`: Se o paciente tem ou não bloqueio de ramo esquerdo;\n - 4 - `SB`: Se o paciente tem ou não bradicardia sinusal;\n - 5 - `AF`: Se o paciente tem ou não fibrilação atrial;\n - 6 - `ST`: Se o paciente tem ou não taquicardia sinusal.\n\n## Arquivos de teste\n\nO arquivo `test_dccweek2023.h5` segue o mesmo formato do arquivo `train_dccweek2023.h5` e inclui os dados de `tracings` dos exames a serem diagnosticados. Os diagnósticos preditos para esses exames devem ser salvos em um arquivo csv (comma-separated values) para submissão. O arquivo de submissão de exemplo `sample-submission.csv` foi incluído para referência.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "## Introdução\n\nDoenças cardiovasculares são a principal causa de morte em todo mundo. No Brasil, cerca de 30% das mortes são causadas por doenças cardiovasculares. Um importante recurso para a identificação de doenças cardiovasculares é o eletrocardiograma (ECG). O ECG é um exame barato, não invasivo, capaz de detectar diversos diagnósticos eletrocardiográficos do paciente. Com a detecção nos estágios iniciais das doenças, os cardiologistas conseguem prescrever tratamentos que podem melhorar a qualidade de vida dos pacientes, podendo evitar piores quadros e até mesmo a morte. Porém, o diagnóstico desse exame é feito de maneira manual, o que demanda tempo, por um médico especialista em cardiologia. Um diagnóstico automatizado é capaz de auxiliar os cardiologistas, uma vez que milhares de ECGs são feitos diariamente. O DCC Week Challenge 2023 tem como objetivo explorar técnicas de diagnóstico automatizado com o uso de bases de dados reais em parceria com o [Centro de Telessaúde de Minas Gerais (CTMG)](https://telessaude.hc.ufmg.br) e o [Centro de Inovação em Inteligência Artificial para a Saúde (CI-IA)](https://ciia-saude.dcc.ufmg.br/).\n\n## Objetivo\n\nO objetivo deste desafio é identificar 6 possíveis diagnósticos eletrocardiográficos utilizando o ECG de 12 derivações. O desafio é a implementação de modelos open-source que utilizem como entrada apenas o sinal eletrocardiográfico e que sejam capazes de identificar as anomalias em cada um dos exames. Para cada exame, os participantes deverão prever o rótulo correto dentre 7 classes, indicando a ausência de anomalias (rótulo 0), ou um dos 6 diagnósticos possíveis (rótulos 1 a 6). Note que esta é uma tarefa de classificação multi-classe, ou seja, somente um rótulo deve ser atribuído a cada exame.\n\n## Referência\n\nComo sugestão, indicamos a leitura do seguinte artigo que apresenta uma solução para o problema em um dataset relacionado: [Automatic diagnosis of the 12-lead ECG using a deep neural network](https://www.nature.com/articles/s41467-020-15432-4). Ressaltamos que o objetivo do desafio não é apenas superar a acurácia alcançada no artigo, mas verificar a viabilidade e desempenho de outras alternativas. Além disso, **submissões que apresentarem alto nível de similaridade com a técnica proposta serão desclassificadas**.\n\n## Participação\n\nSerão permitidas submissões feitas individualmente ou no máximo por duplas.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Evaluation",
      "content": "Esta competição utiliza a métrica [macro F1](https://en.wikipedia.org/wiki/F-score#Extension_to_multi-class_classification) para avaliação. A métrica F1, comumente usada na área de classificação, mede a acurácia de um classificador em termos de sua precisão *p* e revocação *r*. Precisão é a razão entre o número de verdadeiros positivos (*tp*) e o número de preditos positivos, sejam eles verdadeiros (*tp*) ou falsos (*fp*). Revocação é a razão entre o número de verdadeiros positivos (*tp*) e o número total de positivos, sejam eles preditos positivos (*tp*) ou negativos (*fn*). A métrica F1 é dada por:\n\n$$\\text{F}1 = 2 \\frac{p \\cdot r}{p + r}, \\text{ onde } p = \\frac{tp}{tp + fp}, \\ r = \\frac{tp}{tp + fn}$$\n\nA métrica F1 pondera precisão e revocação igualmente, de modo que um bom classificador deve maximizar ambas simultaneamente.\n\n## Avaliação pública vs. privada\n\nPara avaliação, será utilizada uma base de teste, não disponível para os participantes. Em particular, as submissões enviadas pelos participantes serão automaticamente ranqueadas em um leaderboard público, calculado usando 50% da base de teste. O resultado final da competição será baseado em um leaderboard privado, calculado usando os 50% restantes da base de teste.\n\n## Formato de submissão\n\nPara cada exame a ser classificado na base de teste, o arquivo de submissão deverá conter duas colunas: `exam_id` e `classe`. O arquivo de submissão deve conter uma linha de cabeçalho e obedecer ao seguinte formato:\n\n```\nexam_id,classe\n1467619,0\n3196852,2\n1525316,1\n...\n```",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "- A participação no DCC Week Challenge 2023 é aberta para qualquer pessoa no território nacional;\n- As equipes deverão ser compostas por até duas pessoas;\n- Há duas premiações disponíveis: \n   - O primeiro lugar geral será premiado com inscrições no Bracis 2023;\n   - O primeiro lugar que estiver presente na cerimônia de premiação (10/03/23 17:00) ganhará uma Echo Dot;\n   - Caso o primeiro lugar geral esteja presente, o prêmio será acumulado (inscrição no Bracis 2023 e Echo Dots);\n   - Será dado um prêmio para cada integrante do grupo;\n- As soluções devem ser enviadas até o dia 08 de março, quarta-feira, até às 23:59 horas, impreterivelmente;\n- O DCC Week Challenge 2023 será feito por meio da plataforma Kaggle, que deixa ao final de todas as submissões o resultado público. Este resultado será analisado e conferido pelos pesquisadores do DCC e, por isto, podem ser alterados. \n- As cinco equipes melhores colocadas nesta fase (de acordo com o leaderboard) deverão obrigatoriamente:\n    - Enviar um vídeo, de no máximo 3 minutos, explicando a solução proposta, por meio do formulário próprio que será disponibilizado no site do DCC Week;\n   - Enviar o código para verificação e ranqueamento final (link para Github no formulário). Atenção: o código submetido precisa ser capaz de gerar a submissão apresentada no Kaggle!\n   - O prazo para envio do vídeo e código é 09 de março, quinta-feira, até às 23:59 horas.\n-  Serão desclassificadas as equipes que apenas usarem a solução presente no artigo original dessa base ([ver artigo ](https://www.nature.com/articles/s41467-020-15432-4)), uma vez que essa solução está disponível publicamente e deve ser usada apenas para fins comparativos;\n- Soluções triviais (random, ou semelhante) também serão desclassificadas;\n- A base é bastante desbalanceada. É papel da equipe contornar essa dificuldade;\n- Em caso de dúvidas, envie na seção de discussão da competição no Kaggle;\n- Pontos omissos nas regras serão analisados pela comissão organizadora.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}