はじめに
6/30のメモ の続きです。
以下のkaggle コンペについての覚書です。
目次
FASTA データのお掃除
https://www.kaggle.com/code/thedrcat/cafa-5-protein-function-prediction-eda
https://www.kaggle.com/code/leonidkulyk/eda-cafa5-pfp-interactive-dags-plotly
上のノートによると、訓練データのうち最大配列長 35375、最小 3。
テストデータも似たようなものだった。
長い配列は切ったほうがいい気がするけど、切る位置はよくわからない。99% quantile は2718.55 だったから、これくらい?
アミノ酸の配列のうち、登場頻度が少ないものが存在する。
左が全体の登場頻度、右がタンパク質ごとの登場頻度。
Z, B, X, O, U が登場するのを切り捨てる。
長さが 3000 未満、Z, B, X, O, U を含まないデータに制限すると、教師データは 142246 件 → 139430 件になる。
これらが本当に外れ値かもわからないけどこのくらいならまあ消してもいいんじゃないかな。
GO term の出現頻度
訓練データに登場する GO_term は全部で 31466 種類。
ただ、このうち半分以上は 10 回以下しか登場せず、これらを予測するのは難しいだろう(タンパク質は 142246 種類与えられている)。
予測する GO term を「出現頻度が 10% 以上のもの」に制限すると 54 種類が対象となって、逆に少なすぎる。
GO term の間では上下関係が一意に決まっているので(例:molecular function>binding>protein binding>receptor binding)、親の GO term 出現確率予測 $\times$ (親の term をもつという条件の下での)子の出現確率予測としたい。掛け算したら確率が必要以上に小さくなる気がしてるけど、あとで正規化で何とかできたらいいね。しらんけど。
「(親の term をもつという条件の下での)子の出現頻度が 10% 以上のもの」に制限すれば 1454 種類を対象にできる。
お掃除後の確認
取り除いたアミノ酸のうち、Z, B, O, U は無視できる(4 件とかしかない)。X を含むものは1572件あるからこれは確認したほうがいい。
X を含むタンパク質と、Z, B, X, O, U をどれも含まないタンパク質の GO term の発現割合を比較する。
下図で GO term ごとの発現割合を並べた。橙線が X を含むもののうちの発現割合で、青線がその他の発現割合。その他のグループで並び替えた。
ものによっては橙線のほうが発現割合が高かったりするけど、X を含むならこの GO term は必ずもつ!!とか言えるほどの差異ではない。
ほかにも、アミノ酸配列の長さごとに発現割合を比べてみたけど、これも同様にあんまり差がなかった。
・・・じゃあ教師データのお掃除意味なかったかも?(´・ω・`)
やりたいこと
- ハイパラチューニングができる気がしない。AutoMLもよくわかんない。
- kaggle 内の discussion を読む。英語だけどがんばる。