Quest 健康経営のための疾患リスク予測

難易度:★☆☆☆☆

  • 業種
  • メディカル・医療
  • テーブル
  • ロジスティック回帰
  • 分類問題

日本の医療費は、高齢化や医療の高度化を背景に年々増加し、近年は40兆円を超える規模にまで膨らんでいます。 医療費の増加を抑えるには、予防医療やリスク管理、つまり病気の発症を未然に防ぐ取り組みが重要です。 また、こうした予防的な取り組みは、個人だけに求められるものではなく、近年は企業の「健康経営」戦略として、従業員の健康作り、ひいては組織活性化につながるものとして注目されています。

そこで本クエストでは、健康意識やヘルスリテラシの向上を目的として、比較的身近な健康診断(血液検査)のデータを活用した疾患リスク予測にチャレンジします。 クエストを通じて、データ分析の基本的な流れや、ロジスティック回帰によるリスク判定モデルの構築方法、そしてビニングや多項式特徴量といった新たな特徴量生成による精度改善の方法を学びます。

  • 5 時間
  • 2,450 Exp
  • 7 Videos
  • 0 Slides
  • 6 Missions
  • 12 Tasks
  • 42 Operations

イントロダクション 50 Exp

今回のクエストでは、健康診断(血液検査)のデータから、「肝臓」の疾患リスクの有無を判定する機械学習モデルの作成に挑戦します。

肝臓は「沈黙の臓器」と呼ばれるほど、異変があっても自覚症状が現れにくい臓器です。普段の生活では何の問題も感じないのに、健康診断で「脂肪肝の疑いが...」、「ガンマGTPが...」と言われてドキッとした経験がある人もいるのではないでしょうか。
肝臓の病気は、体に明らかな異変が出てきた時には機能障害がかなり進んでしまっていることが多いため、健康診断などの機会に問題(疾患リスク)を事前検知しておくことが大切です。

このクエストでは、現実の健康診断と同じ検査項目を使ってモデルを構築していくため、実際の検査基準値に基づいた仮説立て、特徴量作りにトライするのも良いでしょう。

Videoを再生する

Mission 1

血液検査データの読込、検査項目の確認

それでは早速、健診(血液検査)データの中身を見ていきましょう。pythonのライブラリを使って、ファイルからデータを読み込み、どのような検査項目があるのかを確認します。また、データ量や欠損値の有無なども合わせて確認し、データの概要を把握していきましょう。

Video 1
血液検査データの読込、検査項目の確認
    50 Exp

    Mission 2

    検査データの特徴の洗い出し

    データの概要を確認したところで、次はもう少しデータの特徴を深堀りして見ていきましょう。通常、血液検査の項目には「基準値」(正常な人の大部分が当てはまる数値の範囲)が設定されており、項目ごとに数値の大小やデータの分布は異なっています。モデルを作成する前の事前分析として、こうした項目(変数)ごとの特徴を可視化し、データを多角的に眺めることは、良いモデルを作成するための手掛かりになります。
    本ミッションでは、データを俯瞰し、データの示唆する情報を多面的に捉える方法(探索的分析やEDAと呼ぶ)を学んでいきます。

    Video 1
    検査データの特徴の洗い出し
      50 Exp

      Mission 3

      モデル作成前のデータ前処理

      データの特徴を洗い出したところで、モデル作成の準備に取り掛かりましょう。
      モデルを作成するためには、モデルが扱えるような形にデータ構造を整理する必要があります。また、作成したモデルの性能を評価するための準備(評価用データの用意)も必要です。
      本ミッションでは、データ構造を整理するための前処理として「ダミー変数化」と呼ばれる処理を、作成したモデルを評価するための前処理として「学習・評価データの分割」を学んでいきます。

      Video 1
      モデル作成前のデータ前処理
        50 Exp

        Mission 4

        肝疾患リスク判定モデルの作成

        それではいよいよ、肝臓の疾患リスクを判定するモデルを作成していきましょう。
        今回は、健康診断の受診者の属性情報(性別、年齢)と、その血液検査の結果を入力として、その人に疾患リスクが「有るか無いか」の2択で判定結果を出力するモデルを作成します。
        本ミッションでは、まず基本となる機械学習モデル(ロジスティック回帰モデル)の作成と、作成したモデルをAUCという指標を用いて精度評価するまでの一連の流れを学んでいきます。

        Video 1
        肝疾患リスク判定モデルの作成
          50 Exp

          Mission 5

          検査データの特徴を利用したモデル改善

          作成したモデルで一定の精度は得られたものの、さらにモデルの精度を高めるための工夫を行っていきましょう。
          ここまでは、検査項目ごとのデータの特徴をあまり考慮せずモデルを作成してきましたが、ミッション2で見たような基準値やデータ分布の特徴を使えば、よりモデルの精度を高めることができるかもしれません。
          本ミッションでは、モデルがデータの特徴をさらに上手く表現できるように、新しい変数(特徴量)を生成したり、不要な変数を除外することで、モデルを改善する方法を学んでいきます。

          Video 1
          検査データの特徴を利用したモデル改善
            50 Exp

            Mission 6

            Conclusion

            今回のクエストでは、健康診断(血液検査)を題材として、疾患リスクを判定するモデルの作成に取り組んできました。クエスト全編を通じて学んできたことをおさらいしましょう。

            Video 1
            Conclusion
              50 Exp

              Competition

              健診データによる肝疾患判定

              これまで学習したことを元に、SIGNATEの練習問題に挑戦してみましょう。このコンペでは、健康診断(血液検査)のデータを使って、肝疾患の有無を判定するモデル構築にチャレンジします。

              Competitionに挑戦する