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

Personalized Medicine Redefining Cancer Treatment Solution

Df249112b2226698b3593b43caf45583?s=47 tosh
October 29, 2017
650

Personalized Medicine Redefining Cancer Treatment Solution

Df249112b2226698b3593b43caf45583?s=128

tosh

October 29, 2017
Tweet

Transcript

  1. Kaggle Tokyo Meetup: Personalized Medicine Redefining Cancer Treatment Fourteenth Tokyo(@tosh)

    Ranked 4th in 1,338 teams
  2. Agenda 1. Competition 1. Overview 2. Model 3. Improvements 4.

    Result – 4位 (全1,386) 1
  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
  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)
  5. Improvements-Leak 4

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

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

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

  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件必要
  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
  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
  12. üModel predictとall1のweighted averageの平均を取ることで、loglossで⼤きな損失をしてる箇所 をカバーできるのでは? Improvements- model selection 11

  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
  14. Question ?