Kaggleのコンペで評価でモデルの精度が上がったのにpublic scoreが悪くなったときに読む記事

この記事を読むとわかること

・評価のスコアが良くても、Kaggleに提出したら精度が悪いことがあることが分かる。

・事例ごとの解決手段がわかる

駆け出しのメイド

いま、kaggleの回帰問題のコンペに取り組んでいるんだ。
最初のうちは、モデルに特徴量を加えていくほど評価スコアが改善して、Kaggleのpublic scoreも良くなっていたんだけど、ある特徴量を加えたら評価スコアは改善するんだけど、public scoreが悪くなってしまったんだ。

評価スコアが改善したのにpublic scoreが悪くなるっておかしくない?

メイドの長

そもそも、評価スコアが改善したらKaggleのpublic scoreが改善する保証なんて無いんだよ。
それって「犯罪が絶対に起きない」と言われていた街で、昨日、振り込め詐欺が発生したのとの同じだね。

なるほど

というわけで、今回は、評価スコアが改善したのにpublic scoreが悪くなってしまう原因を事例を挙げて解説しますね。

記事を読み進める上での前提条件

この記事を読み進める上での前提条件は以下の通りです。

・訓練データからモデルを作成する

・評価は、訓練データから作成したモデルに対して実施する。

・評価が終わった後に、作成したモデルにKaggleが用意したテストデータで予測する。

評価スコアの改善がKaggleのpublic scoreに反映されない3つの事例

事例1:訓練データとテストデータで異なるデータ加工をしている

原因

訓練データとテストデータに存在する特徴量Aに対して異なる加工をしていた。

具体例を挙げると、訓練データの特徴量A(カラムA)に対してはlog関数を適用したのに、テストデータのカラムAに対してはlog関数の適用を忘れていた。

その結果、kaggleのスコアの方が悪かったことがありました。

解決策

解決策は、訓練データとテストデータで全く同じ加工をすること。

その結果、評価スコアの改善して、public scoreも上昇しました。

私の例では、public scoreが3.0から1.5(0に近いほど良いとされる)に改善した経験があります。

事例2:月など特徴量が訓練データとテストデータで条件が異なる

原因

この事例では、想像力が必要になるかもしれません。

コンペの内容は、とあるビルの電気使用量(目的変数)を予測するものです。

与えられたデータは、建設物のデータ、日時(年、月、日、時分)ごとの気温・風量・電気使用量が提供されます。

私は、月(month)のデータを特徴量としてモデルに加えました。

評価スコアは改善したのに、public scoreが下がってしまった。

public scoreが下がってしまった原因は、同じ月でも気象条件(8月だったらある1年は晴れが多く暑かった、ある1年間は雨ばかりで寒かった)が違えば、目的変数の値が変わってくると結論づけました。

解決策

条件が保証されない特徴量は、モデルに使わない。

今回の例では、同じ月でも気象条件が変われば、目的変数の値が変動するため、月は特徴量に含めない。

もしくは、「月」を「12月、1月、2月」だったら冬、「3月、4月、5月」だったら春というように季節でグルーピングする方法も考られます。

補足

モデルを作成するアルゴリズムによっては、特徴量「月」と別の特徴量を組み合わせると精度が上がる可能性も考えられるため、一色単に「月」がいらないとは言えないかもしれません。

事例3 そもそも訓練データが少ない

原因

そもそも訓練データが少ないため学習が十分でない。

評価も少ないデータで行うから、精度が悪くなってします。

解決策

解決策は訓練データを増やす方法が考えられます。

また、正例:負例=1:100のように不均衡データの場合は、resample関数を使って正例を増やす(アンダーサンプリング or オーバーサンプリング)方法が考えられます。

まとめ

今回は、3つの例を上げましたが、スコアが悪い原因を挙げていたらきりがありません。

Kaggleは、プログラミングスクールでは学べない「想定外」のことをたくさん学べるため、実力をつけるには、適している場所といえます。

ポイント

今回は、public scoreが悪くなったときの事例をあげて、ポイントを解説しましたが。

必ずしも、事例が一致するわけではありません。

データによって特性が変わってくるので、たくさん経験するしかないという認識です。

最近は、DeNAのようにKaggle枠で人材を募集しているところもあるので、AIエンジニアになりたい人は、Kaggleでいろんなコンペに挑戦してみることをオススメします。

評判も見えるPGスクール検索・比較表

どのプログラミングスクールがいいんだろう?
そんな疑問をお持ちの方に、評判も見えるプログラミングスクール検索・一括比較サービスをリリースしました。

条件を指定することにより、気になるプログラミングスクールを一発で比較できます。
きっと、条件にあったスクールが見つかるかと思います!
詳細は、以下の画像をクリック!

プログラミングスクール検索・比較のペン太ブル
スポンサーリンク
PR




PR




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
PR