事例 03 · Clinical ML
人工関節感染の術前診断
結果が出るモデルであることと、病院で使えることは別。だから配備まで仕上げた。
仕事一覧へ01課題
人工関節置換後の感染は、再置換手術の前に判断する必要がある。確定診断ではなく、血液データと併存疾患指数からの判断になる。精度は必要条件でしかない。臨床側が、なぜそう判断したのかを見られなければ使えない。
02つくったもの
スタッキングのアンサンブルが予測を出し、それを解釈するためにランダムフォレストを当てる。得られた決定規則は、読める長さになるまで最小化する。結果の横に SHAP 値を並べ、一件ごとに議論できるようにした。
Decision pathif ( Positive_Histology == False & two_positive_culture == False & APTT <= 32.5 & APTT > 28.5 & Synovial_WBC <= 2795.0 & Total_Elixhauser_Groups_per_record <= 1.5 & PLATELET <= 321.0 & Synovial_PMN <= 83.0 )| ( Positive_Histology == False & two_positive_culture == False & Segment <= 70.5 & Single_Positive_culture <= 0.5 & Synovial_PMN <= 87.5 )| ( Positive_Histology == False & Synovial_PMN <= 82.5 )| ( Positive_Histology == False & Synovial_PMN <= 82.5 & Hb > 12.5 )| ( Positive_Histology == False & APTT <= 32.5 & Synovial_PMN <= 82.5 & Synovial_WBC <= 8280.0 & Serum_ESR <= 58.5 )| ( Positive_Histology == False & APTT <= 32.5 & Synovial_WBC <= 23099.0 & Age > 48.5 )| ( two_positive_culture == False & Hb > 12.5 & Serum_ESR <= 57.0 & PLATELET <= 402.5 & Synovial_WBC <= 21314.0 )then infected 03病院に置くまで
Flask のフロントとバック、ログイン、患者データ、対話的な予測画面。ノート PC 以外の場所に立てられるよう Docker にまとめた。規則の最小化は計算量が重く、起動に二分以上かかる。それでも、リクエストごとではなく起動時に一度だけ払う価値のあるコストだ。
- 2
- つのモデル:予測と説明
- リンク
- ソース (非公開リポジトリ)