機械学習

KaggleのEloのカテゴリ判別?【MLC第9回】

こんにちは、チズチズです!

ココ最近ブログ書いていませんでした…

久しぶりですが、Kaggleやってみます。Kaggleといっても前まではチュートリアルのようなものでしたが、今回から本当のコンテストです。(賞金発生

ですが、機械学習の初心者の僕は何すればいいか全然わかりません。だからKernelを参考に進めて、スキルアップを目指していこうと思います。

Elo Merchant Category Recommendation

問題ページはこちらから。

参考にするKernel

上のページのKernelを参考に進めていきます。

このKernelはこのコンペで一番読まれているKernelです。

見てみましたが、全然わかりません。

これからのMLCの1回の進みは遅くなると思います。

自己流ですが、細かい説明が出来るように工夫してみますのでよろしくおねがいします。

1からゆっくり見ていきます。

ライブラリ

ライブラリに関しては色々ありますが、あまり気にしないでおきます。なぜなら、ライブラリを参照しておきながらも使わないものがあるからです。

コードに書かれていたときに調べれば良いだけでいちいち最初から調べていたらきりがありません。

この辺は有名どころかなと思います。sklearnのライブラリは初めてみましたが、それ以外は大体見たことあります。

reduce_mem_usage

これは初めて目にしました。調べてみると

データを最適なデータ型にしてくれるらしいです。

比較演算子がたくさん使われていますね。

見る限りだとint型やfloat型の最小値と最大値の中に入っていたらそのデータを適切なデータに変換するという素晴らしい関数…

Kaggleかどっかである人が書いた関数らしいのですが、色んな場所で使われているそうです。

データの軽量化には良さそうです。

データ読み込み

まず上の2行はふつ~に読み込んでいるようでparse_datesというものがあります。

parse_datesdatetime型のときに読み込むカラム名だそう

このデータにはdatetime型(日付等)が入っているため指定します。

次はYは1にNは0にする関数があります。

その関数を実行させて、文字列を数値にさせています。

(OneHotと似たもの

トレインデータ読み込み

さっきまでのデータはサブのようなものでメインはこっちです。

3GBもある強者ですw メモリを増設したところ1分ほどで読み込みが終了しました。

メモリ増設前(8GB)のときはPyCharmがメモリ落ちしました。

ここでは読み込み時に日付を2月1日との差にしています。

そして、目的変数(target)を取り出し元のトレインデータからは削除します。

今日はここまで

まだこれしかやっていませんが、次からのコードが難解(自分には)なので明日ゆっくり調べながらブログにアップしていこうと思います。

理由としては、

  • 英語で翻訳に手間がかかる
  • コメントや説明が少ない
  • そもそも僕のスキルが足りてない

この3点が挙げられます。しかし、ネットにはたくさんの情報があるので仮にこんな状況だったとしても打開策はたくさん考えられます。

しかし、本当の初心者だからこそ伝えられる情報もあると思うのでそこのところも上手くやっていこうと思います。

次は多分前処理になります。

お読みいただいてありがとうございました。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です