Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Personalized Medicine Redefining Cancer Treatment Solution

tosh
October 29, 2017
810

Personalized Medicine Redefining Cancer Treatment Solution

tosh

October 29, 2017
Tweet

Transcript

  1. Kaggle Tokyo Meetup:
    Personalized Medicine
    Redefining Cancer Treatment
    Fourteenth Tokyo(@tosh)
    Ranked 4th in 1,338 teams

    View Slide

  2. Agenda
    1. Competition
    1. Overview
    2. Model
    3. Improvements
    4. Result – 4位 (全1,386)
    1

    View Slide

  3. Overview-Personalized Medicine: Redefining Cancer Treatment
    癌細胞の突然変異した細胞の中で腫瘍の増⼤につながるものを予測するコンペティション。
    現在は、テキストの診断結果を病理診断医が⼿作業で分析し、 MSKCC分析により分類を⾏なってい
    ます。この作業を機械学習により算出し、その精度を競います。
    1. テストデータ:
    ü学習データ:3,322件
    üテストデータ
    Phase1データ: 5669件
    Phase2(最終評価)データ: 987件
    ü内容:
    ü Gene:突然変異した細胞の場所
    ü Variation:アミノ酸変化種別
    ü Text:テキスト形式の臨床的エビデンス(約50,000⽂字)
    ü Class:病理診断の結果
    2. 評価⽅法:
    2
    ID Gene Variation Text Class
    0
    FAM5
    8A
    Truncatin
    g
    Mutation
    s
    Cyclin-dependent kinases
    (CDKs) regulate...
    1
    1
    CBL W802* cell lung canc... 2

    View Slide

  4. Step 1.教師データ
    Step 2.特徴量抽出
    Step 3.学習
    model
    3
    Text基本情報
    ⽂字数
    単語数
    加重平均(Weighted Average)
    (Light GBM : All 1/9)=(6:4)
    Light GBM
    教師データ
    -Gene
    -Variation
    -Text
    All1/9
    Text内 Keyword出現頻度
    (Gene, Variation)
    予測結果(Output)
    Textベクトル化
    (Count Vectorizer (TF-IDF))
    次元圧縮
    (Truncated SVD)

    View Slide

  5. Improvements-Leak
    4

    View Slide

  6. Improvements-モデル性能評価
    üなんとtestセットの答えが367件、漏れてしまっていた。
    üさらにLeak以外のデータの評価では、予測モデルスコア(0.20)よりも、全て同じ確率(1/9)で予
    測したスコア(0.14)の⽅が良い!
    5
    63%(619) 37%(Leak367)
    Test set 986

    View Slide

  7. ü Loglossの問題として、正解ラベルで0に近い確率にすると急激に損失が⼤きくなる。
    Improvements-モデル性能評価
    6
    2

    View Slide

  8. Improvements-モデル性能評価
    üモデルの精度を評価するために、public76%(750レコード)中でleak以外で計算されているのは何
    レコードなのかを知る必要がある。
    7
    76%(public750) 24%(private236)
    競技中はこのデータのみで評価される
    public private
    LEAK

    View Slide

  9. üLead boardの結果(76%データによる評価)からpublicのleakの件数を算出したところ、640件(
    367件を超えている)となってしまい、publicが76%データでない可能性がある。
    mlogloss = -{(750-X)log(1/9)+X*log(1)}/750
    Improvements-モデル性能評価
    8
    0.14012 = -(750-X)/750 * log(1/9)
    750-X private
    leak(X)
    mlogloss = -(750-X)log(1/9)/750
    X = 640!!!
    Leakのものは損失が0になり、
    他のものはlog(1/9)になる。
    Publicが750件ならば、publicの
    中にleakは640件必要

    View Slide

  10. Improvements-モデル性能評価
    ü仮にleak367件全てがpublicに⼊ってもpublicのデータは最⼤でも430件であり、leakを除くと、
    publicは最⼤63件(986件中)のみで評価されていることになる。
    9
    0.14012*Y/-log(1/9) = Y-367
    6.5%(public63) private
    37%(leak367)
    mlogloss = -(Y-367)log(1/9)/Y
    mlogloss = -{(Y-367)log(1/9)+367*log(1)}/Y
    Publicでleak以外のデータ件数は最大でも63件(986件中)…..
    Publicをyとして、leak367が
    publicに入った場合のpublic
    データの件数を求める。
    Y = 430

    View Slide

  11. üPublic scoreが63件(986件)と仮定すると、モデルもそこまで酷いと⾔い切れない。ただし、
    modelは正解ラベルにおける平均予測確率が0.03(score0.215から逆算)なので、⾮常に⼤きな損
    失をしているレコードも存在すると思われる。
    Improvements- model selection
    10
    # Model Leak
    データ
    の利用
    All1fill Model predict Score
    1 Standard Model - - ✓ 0.414
    2 Leak and All1/9 fill Model ✓ ✓ - 0.140
    3 Leak and Model Predict ✓ - ✓ 0.215

    View Slide

  12. üModel predictとall1のweighted averageの平均を取ることで、loglossで⼤きな損失をしてる箇所
    をカバーできるのでは?
    Improvements- model selection
    11

    View Slide

  13. Improvements- model selection
    12
    # Model Leak
    データの
    利用
    All1fill Model predict Public Score
    1 Standard Model - - ✓ 0.414
    2 Leak and All1fill Model ✓ ✓ - 0.140
    3 Leak and Model Predict ✓ - ✓ 0.215
    4 Leak and Weighted Average ✓ ✓ ✓ 0.1367

    View Slide

  14. Question ?

    View Slide