OthloBlog - オスロブログ -

名古屋のIT系学生コミュニティOthloTechのブログです。

機械学習コンペティションKaggleのススメ

こんにちは、TeraBytesです。

読者のみなさんは機械学習には興味あったりしますでしょうか?

実際に試したいけどデータがないだとか、機械学習について深く勉強したいなんて方は、

機械学習コンペティションであるKaggleをオススメします。

この記事は、

  • 機械学習・データ分析に興味があるor極めたい!
  • 英語がわかる(特にKaggleを極めたい人は)

と英語のハードルがありますが、機械学習の初心者から上級者までためになる記事になるかと思います。

そもそもKaggleって何?

f:id:othlotech:20170828164833p:plain

オンラインで機械学習の精度を競い合うサービスです。世界中のデータサイエンティストが集まって競っています。

中には企業が問題を出して、賞金がかかったコンペも存在しております。

Kaggleのコンペティションでは、指定された機械学習のスコアの良さを競い合います。

Kaggleはこちらのサイトとなります。

英語が必要な理由の一つがkaggleというサイト自体が英語サイトである点ですね。

ちなみにガチ勢になりたいって人は他の英語のサイトも漁って行くことになるので、英語が必要になります。

また、Kaggleユーザがデータセットを公開し合ってそのデータを分析するということもできますが本記事では割愛で。

どうやって始めんの?

とりあえず会員登録しましょう。ホームページに入ってとりあえず “Create an account” を押す。そっから会員登録を済ませましょう。

会員登録を済ませたら、 “Competition” に移り、さらに一覧に出てくる “Titanic: Machine Learning from Disaster” へと移ります。

こちらに移るはずです。ここがコンペのチュートリアルになりますのでここから挑戦しましょう!

プログラミング言語はRかPythonを使ってできますが、Excelを使って参加することなんてできます。

また、機械学習やデータ分析に慣れていない人も、それらを簡単に扱えるようになるライブラリを覚えるいいきっかけとなります。

どうやったら良いスコア出せるの?

高い精度を出すには、モデルを選んだり、モデルのパラメータを調整するだけではなく、データ自体をいじっていかないと高い順位は出せません。

というかデータいじりの方が重要になっていきます。(ディープラーニング使うとかだと別かもしれませんが・・・)

初めてだとなかなかとっつきにくいかと思いますが

  1. Kernelsを読む
  2. 外部のサイトで勉強する

といったことをすればより精度の高いモデルが作れるのではないかと思います。

1についてですが、コンペのページに “Kernels” という項目があります。そこには、こうしたらスコア上がったよーとかこういう分析結果が出たよー

といった記事が投稿されています。Kernelsはコンペごとに投稿される記事なのでこれを利用するっきゃないですね。

2については機械学習わからない、ガチ勢ってどんなことしているんだって人ほどお世話になるんじゃないかと思います。

前述の通り英語のサイトも漁っていかないといけないかもしれませんが、基本的なことはQiitaや日本語のブログから学ぶこともできます。

入門者向けの記事だとこのようなまとめがあったり、このような記事なんかが詳しいですね。

また、やり込んでいくうちにいろんな用語や手法に当たったりするので、やり込めばそれだけ力が身につきます。

終わりに

本記事ではKaggleの紹介だけで、しかもKaggleのコンペやり込めば機械学習できるようになるよ!とかいう投げやりな感じなので、これだけじゃわかんねーんだけどって方は申し訳ないです。

Kaggleは有名なサイトなので、前述の通り調べていけばKaggleについてもわかっていくと思います。

というかこの記事の方が本記事よりも詳しいので、興味のある方はこちらを読んでスタートしましょう。

興味のある方はKaggleを始めて、機械学習やり込みましょう!