ステータス:アーカイブ。コードは、更新が予想されないように提供されます。残念ながら、このレポを維持する/問題への応答を維持することに専念するための個人的な時間はありません。また、モデルコードとデータの分割がコミュニティに役立つことを願っています。
臨床テキストからの医療コードの説明可能な予測論文のコード。
他のバージョンも機能するかもしれませんが、リストされているバージョンは私が使用したものです
開始するには、最初にconstants.pyを編集して、Mimic-IIおよびMimic-IIIデータセットのコピーを保持しているディレクトリを指してください。次に、次の構造でデータを整理します。
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)
mimic-IIファイルは、このリポジトリから取得できます。
次に、Pythonパスにこのリポジトリのベースディレクトリが含まれていることを確認してください。次に、Jupyterノートブックで、すべてのセルを実行します(メニューで、[セル - >すべてをクリック] notebooks/dataproc_mimic_II.ipynbおよびnotebooks/dataproc_mimic_III.ipynbで実行します。これらにはしばらく時間がかかるので、散歩に行ったり、待っている間はクッキーを焼いたりしてください。 「トレイン前の単語埋め込み」セクションをスキップすることで、スピードアップできます。
論文の結果を直接再現するには、最初に上記のデータ処理手順を実行します。 Mimic-IIIフルラベルデータセットのCAMLおよびDR-CAMLの事前訓練モデルを提供します。それらは、それぞれのディレクトリでmodel.pthとして保存されます。また、モデルからの結果を再現するためのevaluate_model.shスクリプトも提供します。
新しいモデルをゼロからトレーニングするには、スクリプトlearn/training.pyを使用してください。入力引数とフラグの完全なリストについては、 python training.py -hを実行します。 predictions/サブディレクトリのtrain_new_model.shスクリプトは、例として機能することができます(または、同じハイパーパラメーターを使用するために直接それらを実行できます)。
論文で結果を提供する予測は、 predictions/で提供されます。各ディレクトリには次のものが含まれます。
preds_test.psv 、すべてのテスト例のHadm_idおよびモデル予測を含むパイプ分離値ファイルtrain_new_model.shは、論文に記載されているハイパーパラメーターを使用して新しいモデルをトレーニングします。予測からのFメジャーの結果を再現するために、たとえばMimic-IIでのCNNの結果は、 python get_metrics_for_saved_predictions.py predictions/CNN_mimic2_fullを実行します。