ねほり.com

何もないから何かみつかる

KaggleのHome Credit Default Risk体験(Keras、Pytorch編)

   

Kaggleの過去Featured問題「Home Credit Default Risk」を解いていきます。

このコンペは与えられた個人のクレジットの情報や以前の応募情報などから、各データが債務不履行になるかどうかを予測する問題です。

 

Kaggleで勝つには次の書籍がおすすめです。ディープラーニングを学ぶには違う書籍がよいでしょう。


 

[参考] 過去の機械学習関係の記事
 

ディープラーニングで解く

今回はディープラーニングのライブラリ「Keras」「Pytorch」を使って解いています。

さすがに本番コンペということもあり、正解率が低いと分かっているディープラーニングを使ったサンプルはネット上で見つかりませんでした。

ましてや「Keras」「Pytorch」の両方を試している人は、Kaggle以外でも多くないです。

なお、以前紹介した「Pytorch」のラッパーである「skorch」はエラーが出て動きませんでした。

ただえさえ情報が少ないライブラリでエラーが出てしまうと、不具合解析が面倒です。

なので、直接「Pytorch」を使うことにしました。さようなら「skorch」。

というより、「Pytorch」利用者達から、
 

「数十行のためにマイナーなラッパー使うのイミフ 笑ꉂꉂ(´ ∀`」

 

と、イジられたのが大きな要因の一つです。

Kerasで全結合モデルを構築する

Kerasでは過去に「全結合」「CNN」「LSTM」で作成した経験があるので、迷うことはありません。

前回のサブミットで「どちらのラベルに分類されるか確率で出力する」必要があることが分かりました。

このため「categorical_crossentropy」「softmax」を使って実数出力を試みましたが、出力結果が「0」「1」の2値にしかなりません・・・。

うーん、理由分からず。。。。

結果の出力

結果は次のようになります。

正確率は92%です。

サブミットしても「0」「1」の2値だと、Top95%程度だと思われるので確認していません。

Pytorchで全結合モデルを構築する

Pytorchはよく分かってませんが、前回の写経のおかげで理解が進み、なんとなく動作しました。

が、こちらも出力結果が「0」「1」の2値にしかなりません。

理由分からず。

そして、やっぱりKerasよりコードが長い。

結果の出力

結果は次のようになります。

正確率は90%です。

サブミットしても「0」「1」の2値だと、Top95%程度だと思われるので、こちらも確認していません。

まとめ

「Pytorch」と「Keras」で全結合モデルを構築して、問題を解いてみました。

少しずつライブラリの理解が深まり実装コストが下がっているので、今後も定期的に利用してみます。

ただ、Kaggle マスター曰く、Kaggleのスコアを本気で狙うのであればディープラーニングの知識は不要らしいです。

ディープラーニングの勉強目的でKaggleの問題を解いているのに・・・・・。

ソースコード

前回のsklearnの各種機械学習アルゴリズム版にKeras、Pytorchを継ぎ足したので、凄く長くなってしまいました。

ディープラーニングに必要な部分は半分もありません。

 - 2020年(社会人16年), 機械学習, テクノロジー

  関連記事

Kaggle の Titanic Prediction Competition でクラス分類(XGBoost、LightGBM、CatBoost編)

機械学習に精通し適切にデータを分類できるだけではなく、膨大なデータから課題を発見 …

ドラえもんVRで垣間見た新しい視覚体験

バンダイナムコエンターテインメントが製作したVRアトラクション『ドラえもんVR「 …

「あとどのくらいですか?終わりメーカー」作成

今年の「秋分の日」は116年ぶりに9月22日らしく自作の祝日判定プログラムにバグ …

恒例の学科内「コンピュータオセロ大会」に解説役として参加する

今年も恒例、学科「コンピュータオセロ大会」があります。    …

CEATEC にミスユニバース ファイナリスト登場

「CEATEC 2012」に行ってきました。人も少なく企業のプレゼンも控えめ。日 …

Cygwin/XFree86のXサーバをインストールするも

そろそろ研究計画を決めないといけない。    夏休みのはずな …

機械学習を使った株価予測(pandas-profiling、create_tree_digraphで可視化する)

株式投資は、予測するものではなくルールに沿って選ぶものです。 その際に、選んだ銘 …

ADSLで最大2ヶ月間無料となるYahooBBキャンペーン

今日までにADSLに登録すれば最大2ヶ月間無料となるキャンペーンをYahooBB …

機械学習で株価予測(Pythonのバックテストライブラリ調査)

前回、機械学習で解いた予測結果がどれだけ利益が出ているのか詳しく知ることが出来ま …

JavaScriptクリップボードデータを取得する

March 10, 2005 JavaScript は色々な悪さに使えるスクリプ …