Status: Arquivado. O código é fornecido como está sem atualizações esperadas. Infelizmente, não tenho tempo pessoal para me dedicar a manter esse repositório/responder a problemas, nem mais acesso ao conjunto de dados MIMIC, embora espero que o código do modelo e as divisões de dados ainda possam ser úteis para a comunidade.
Código para o artigo Previsão explicável de códigos médicos do texto clínico.
Outras versões também podem funcionar, mas as listadas são as que eu usei
Para começar, primeiro edite constants.py para apontar para os diretórios que mantêm suas cópias dos conjuntos de dados Mimic-II e Mimic-III. Em seguida, organize seus dados com a seguinte estrutura:
mimicdata
| D_ICD_DIAGNOSES.csv
| D_ICD_PROCEDURES.csv
| ICD9_descriptions (already in repo)
└───mimic2/
| | MIMIC_RAW_DSUMS
| | MIMIC_ICD9_mapping
| | training_indices.data
| | testing_indices.data
└───mimic3/
| | NOTEEVENTS.csv
| | DIAGNOSES_ICD.csv
| | PROCEDURES_ICD.csv
| | *_hadm_ids.csv (already in repo)
Os arquivos MIMIC-II podem ser obtidos neste repositório.
Agora, verifique se o seu caminho Python inclui o diretório base deste repositório. Em seguida, no Notebook Jupyter, execute todas as células (no menu, clique em Cell -> Execute tudo) no notebooks/dataproc_mimic_II.ipynb e notebooks/dataproc_mimic_III.ipynb . Isso levará algum tempo, então dê um passeio ou faça alguns biscoitos enquanto espera. Você pode acelerar, pulando as seções "pré-treino incorporadas".
Para reproduzir diretamente os resultados do artigo, primeiro execute as etapas de processamento de dados acima. Fornecemos nossos modelos pré-treinados para CAML e DR-CAML para o conjunto de dados MIMIC-III Full-Label. Eles são salvos como model.pth em seus respectivos diretórios. Também fornecemos um script evaluate_model.sh para reproduzir nossos resultados dos modelos.
Para treinar um novo modelo do zero, use o script learn/training.py . Execute python training.py -h para obter uma lista completa de argumentos e sinalizadores de entrada. Os scripts de train_new_model.sh nas predictions/ subdiretos podem servir como exemplos (ou você pode executá -los diretamente para usar os mesmos hiperparâmetros).
As previsões que fornecem os resultados no artigo são fornecidas nas predictions/ . Cada diretório contém:
preds_test.psv , um arquivo de valor separado por tubos que contém as previsões de Hadm_id e modelo de todos os exemplos de testestrain_new_model.sh , que treina um novo modelo com os hiperparâmetros fornecidos no papel. Para reproduzir nossos resultados da medida F a partir das previsões, por exemplo, os resultados da CNN no MIMIC-II, execute python get_metrics_for_saved_predictions.py predictions/CNN_mimic2_full .