Kaggleを一人でやることの苦しみ
自分のプログラムが合っているのか、不安になる。。
CVの組み方すら間違っていたら、指針が全てパー
ソロ金とったことないが、とるなら2-3ヶ月は時間とって集中しないと難しい感覚。
(1ヶ月では無理だった。ソロ銀)
・リサーチの時間が足りない
・実装の時間が足りない
・検証の(以下略)
圧倒的な実装力 + 最短の最善手を選ぶセンス が必要。
(一人だと時間が足りないので、できれば3ヶ月前から参加する)
2020/7/1 M5感想
・検証を効率的に実施するために、MLパイプラインの整備は重要。
・モデリングはデバッグが難しい(コード的には通るので発見しにくい)ので、
なるべく自分のコードを書かないよう、既存のライブラリを有効活用しながら、進める必要がある。
・スパースな時系列は本質的に予測が難しい(ポアソンlossを利用)
・平均の寄与度が高かった。
・recursive forecastはやめたほうがいい。day to day modelが王道。(日数ごとにモデル作成)
・学習データが4000万行とかだと、学習に1h以上かかってしまう。ノートブックインスタンスで通信が切れた時にプログラムが止まってやり直しになることがある。10分以上かかるものは、ジョブにして外に投げる方がいいと感じた。
vanilla resnetってなんだ?
Vanillaとは、正則化なしのことらしい
http://www.m.cs.osakafu-u.ac.jp/publication_data/1628/miru2018.pdf
下記をtrainingジョブで学習する。くらいはやりたい。
SageMakerに移植するためにトライした手順
1.Sagemaker ノートブックインスタンス上で、作者のgithubのチュートリアルを実行。
2.データをKaggleコンペのものに変えて実行。
3.train.pyに落とし込み
kaggle tips
【随時更新】Kaggleテーブルデータコンペできっと役立つTipsまとめ
https://naotaka1128.hatenadiary.jp/entry/kaggle-compe-tips
EC2を使う場合
SageMakerノートブックインスタンスでは、librosaなどのライブラリが入らないことがある。(Amazon Linuxとの相性?)
なので、EC2のUbuntuで実行したいことがある。その場合の手順を記しておく。
1.iterm2からログインできるようにする。
インスタンス作成時に、XXX.pemを作成する。
XXX.pemを ~/.sshに配置する。
$ chmod 400 ~/.ssh/XXX.pem
$ ssh -i ~/.ssh/XXX.pem ubuntu@ec2-X-XX-XX-X.us-east-2.compute.amazonaws.com
2.ログインしたら、jupyterをインストールする。
こちらのブログを参考に、実行していけばOK
https://dev.classmethod.jp/articles/ubuntu-jupyternotebook/
EC2のセキュリティグループの、inboundルールで8888ポートを開けることを忘れない(上記blogに記載されている)