機械学習コンペのKaggleを始めました✨(2021年5月27日)

最初にKaggle、機械学習、ディープ、GPUだよなぁ、と思って自分の環境のリソース使われるよなぁと思って、なかなか手を出さず(これが超簡単超手軽なんですよ)

重い腰を上げて、Kaggleに登録したらタイタニックの問題をやればいいんだけど、そのあとに何をすればいいのかで詰まり、コンペに参加してみたら何をすればよいのかわからず、GPUとかどうつかうんや!となり

そんな感じでKaggle入門時に詰まったところをメモしていきます!

Kaggleの開発環境:ネットにつながるPCとブラウザだけあればOK!

機械学習といえば、ディープラーニング。ディープラーニングといえば、GPUで殴る。CPUで実行してたら、一生終わらない(/・ω・)/

自分の環境のGPUが使われるの嫌だなぁと思ってました。しかし、KaggleにはKaggle Notebooksというブラウザ上でいろいろ完結するものが用意されています!GPUも時間制限があるけど使える!

GPU付きのパソコン要らない! GPUを使ったセッションは週に30時間までの制限がありますが、無料で手軽に使える入門用環境としては十分すぎる!

Kaggle Notebookはこんな感じ↓

Jupyter NotebookやGoogle Colabを使ったことのある人は、それと同じようなやつ

ブラウザ上でPythonが実行できてMarkdownでメモも残せる!

データのインポートも簡単にできるのは魅力的!(^^)!

Kaggleに登録したら

Kaggleに登録したらタイタニックの問題をやります。Kaggle側がおススメしてたのでやるべし!

データの種類は少なくて、適当にSVMとかで解いても0.75くらいの正答率が出る簡単な問題です。

下記画像はタイタニックの問題のページですが、ここのOverviewに書いてあることを読めば、データの読み込み方、モデルの作成方法、結果のsubmitの仕方までを一通り学べます。

更にわからなかったら、Codeのタブにいろいろな人が作成したタイタニックの問題を解いたKaggle Notebookが上がっているので、それを参考にすると良い。

タイタニックの結果をsubmitしてみるとLeadersboardに自分の結果が乗ります。残念ながらチート行為をしている人たちがいるようで、ランキングは当てになりません。上位のどこまでがチート使っている人なのか判別不可能。少なくともScoreが1.0の人たちはみんなチート野郎。

チート行為を説明するNotebookが出回ってしまってるんですよ。(リンクは張らないぞ。探すなよ怒)最近のコンペは対処済みのはず。

昔のTitanic入門記事を見ると、Scoreが0.8を超えればかなり良い方みたいなので、まずはそのあたりが目標か。

私は適当なSVMでモデルを作って0.76, ちょっと考えて0.78になったので、まぁこれでいいかとタイタニックは終わりにしました。

ほとんどはOverviewとCodeにある他の人のコードを参考にしたら解決したのですが、このタイタニック問題でつまずいたところが一つだけ。どうやってKaggle Notebookからsubmitするの?

Kaggle Notebookからsubmitする方法

Kaggle APIを使うと直接できるらしい?Notebookから直接submitできないかな?と謎になってました。

いろいろやったけどよくわからないので、Kaggle Notebookから出力されたファイルをダウンロードしてSubmitページに手動でアップロードしようとして?になりました。

出力したはずのファイルがないんですよ!Notebook右側のファイル一覧みたいなところに!

ちゃんとできてれば、下画像のようにoutputの下にsubmission用のファイルが生成されるようにしたはずでした。

どうも実行終了からDataのところにファイルが現れるまで時間差があるようで、赤丸の更新ボタンみたいなところを押したら出てきました。

対象のファイルをダウンロードして、手動でsubmit!

なんかもっとスマートなやり方がわかれば追記予定。

タイタニックの次に何しよう??

タイタニックはそこそこできたので、他のコンペとかやりたいな!と思いましたが、どれをやればいいかわからない。。。

迷っていても仕方がないので、適当に一番上にあった「SIIM-FISABIO-RSNA COVID-19 Detection」というコンペに参加しました。これは画像を入力として肺炎を検出するタスクのようです。

DICOM画像形式という初めて見たデータフォーマット、出力はクラス分類に加えてbounding boxの推定も含まれている。。。submit形式もなんかよくわからんぞ

タイタニックから、いきなり難易度が上がってしまい、これは悪手だったかなと思いましたが、Codeを見てみると初心者向けに解説してる人がたくさん!

なので、たぶんタイタニックの次はどのコンペに参加しても良くて、Codeにある他の人のコードや解説してくれているNotebookを参考にやっていけばよいのだと思っています。

Categories:

No responses yet

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA