>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
Jupyter

MITのコードがICU救命活動をサポートする仕組み

敗血症のリスクを予測するニューラルネットワークのトレーニングや、重篤な患者に最適な投薬量を見つける必要があるとします。どこからデータを取得しますか?医療分野では、これは大きな問題です。プライバシーへの懸念、散らばったフォーマット、そして高品質データセットの深刻な不足。しかし、この分野でほぼ10年間「ゴールドスタンダード」として機能してきたプロジェクトがあります。MITのComputational Physiology Labが公開しているmimic-codeリポジトリのことです。

これは単なるライブラリではありません。MIMICデータベース(Medical Information Mart for Intensive Care)を中心とした大規模なナレッジハブです。医療分野でのデータサイエンスに従事している人、あるいはビッグデータが医療でどのように扱われているか知りたい人にとって、このプロジェクトは学習リストに必ず入れるべきです。

開発者が医療コードに参入すべき理由

通常、医療データの取り扱いは悪夢のようなものになります。各病院には独自のテーブル、検査の独自の略語、血圧の記録方法も異なります。mimic-codeリポジトリは主な問題を解決します—再現性です。毎回ゼロから車輪の再発明をし、生データのParserを記述する代わりにコミュニティが数十万人規模の患者情報を処理するための検証済みスクリプトを集めています。

このプロジェクトは以下の場面で役立ちます:

  • 大規模ICUデータベースのローカルまたはクラウドコピーを素早くデプロイする。
  • 特徴量抽出の準備ができたアルゴリズムを使用する(例:Glasgow Coma ScaleやSAPS II重症度スコアの計算)。
  • モニタリングセンサーからの複雑な時系列データの構造化方法を理解する。

リポジトリの中身

プロジェクト構造は、データベース本身的進化を反映しています。古典的なMIMIC-IIIから、最新のMIMIC-IV(救急外来データ、さらにはX線画像を含む)に至るまで、複数の世代のデータセット用スクリプトが含まれています。

Build ScriptsとETL

フォルダ mimic-iiimimic-iv には、PostgreSQL、BigQuery、その他のDBMS用のSQLスクリプトが含まれています。散らばったCSVファイルを首尾一貫したリレーショナル構造に変換します。これは数百ギガバイト規模のデータに対するETLプロセスを整理する方法の良い例です。

Derived Concepts

これはおそらく最も価値のある部分です。医療では「脈拍」を知っているだけでは不十分です。患者がショックの状態인지、腎不全인지を理解する必要があります。リポジトリには、このような状態をオンデマンドで計算するSQLクエリが含まれています。「急性腎障害」の特徴量をデータベースから抽出するために医者である必要はありません—専門家がすでにこのコードを書いているからです。

Pythonユーティリティ

ルートにはパッケージ mimic_utils があります。SQLコードのトランスパイルとデータ準備を支援します。インストールは標準的です:

pip install -e ".[test]"

ちなみに、作者たちは再現性を重視しているので、リポジトリには requirements-lock.txt が存在します。これにより、あるライブラリのアップデートでスクリプトが1ヶ月後に「壊れる」ことがなくなります。

クラウドとクイックスタート

ローカルにテラバイト規模のデータを持つPostgreSQLをインストールしたくない場合、プロジェクトはAWSとGoogle Cloudとの готовые 統合を提供します。AWSにはCloudFormationスタックのクイック起動ボタンさえあります。

cloudformation-launch-stack

これにより、Amazon Athenaを通じてデータアクセスが事前に設定されたJupyter Notebookがデプロイされます。PhysioNetアーカイブ全体をディスクにダウンロードせずに素早く仮説をテストする必要がある場合に便利です。

READMEには、メインコードを補完するいくつかのクールなサードパーティユーティリティが言及されています:

  • Bloatectomy — 臨床メモから重複を削除します(医療では、テキストはしばしば回診から回診へコピー&ペーストされます)。
  • MIMIC-Extract — 生テーブルを機械学習モデルが「食べる」形式(固定間隔のPandas DataFrames)に変換します。
  • FIDDLE — 構造化電子カルテを特徴量ベクトルに変換するパイプライン全体です。

参入する価値はあるか

このプロジェクトは特化的ですが、産業にとって極めて重要です。MedTechで働く予定がある場合、MIMICを知っているのはシステム管理者にとってのLinuxを知っているようなものです。

这里的代码并不总是看起来像最新版本的「热门」Python。这里有很多纯SQL,很多特定的医学术语。但这是一个实际使用的活生生的项目,在成千上万的科学出版物中被使用。

どこから始めるか?まずはPhysioNetでデータにアクセスすることをお勧めします(無料ですが、患者データ倫理の短いコースを完了する必要があります)。その後、リポジトリをクローンしてフォルダ mimic-iv/tutorials のチュートリアルを実行してみてください。これにより、SQL教科書の世界ではなく、現実世界でデータがどのように機能するかの理解が得られます。

関連プロジェクト