全件でモデリングをした方が良いのか、サンプリングしてモデリングをした方が良いのか? [データサイエンス、統計モデル]
全件でモデリングをした方が良いのか、サンプリングしてモデリングをした方が良いのか?
「そりゃ、データがあるなら、全部使った方が、精度がよくなるんじゃないか?」と考えてしまいます。
昔は、そう思っていた時代がありました。w
しかし、最近では、サンプリングしてモデリングを進めた方が良いのでは?と思っています。
1 or 0 を予測するモデルを事例に、いくつかの切り口で考えてみたいと思います。
◆ その1 バランス調整
モデルによっては、1 と 0の比率がちょうど50%、50%の割合で出現する方が、1,0 を分類するにあたり、一番精度が出るモデルがあります。
インターネットなどのデータは、反応する人が少なく(1の割合が極端に少なく)、そのままでは高い精度を出すことができません。
だったら、出現率を調整した方が良いのでは?と。
ただし、これは全件データでも1を0と予測した場合の罰則のコストを高く設定することで、同様のことができます。
◆ その2 特徴量の作成
モデルの精度って、どのモデルを使うかによってのみ決まるわけではないです。
気の利いた特徴量(説明変数)を見つけるだけで、劇的に精度が上がります。
ということは、最初から、モデルを作成するために膨大な時間を費やすより、色々なモデルや特徴量を色々と試しながら、あたりをつけていく方が効率が良いでしょう。
最終段階において、全件データでモデルを流し直し、どれだけ精度が向上するのかを試すのはありかもしれません。
実際に、全件データを使った方が、若干精度が高くなる場合が多いような気がします。
ということで、最近は、ビッグデータを高速に処理できるデータベースが普及してきましたが、ハードに振り回されすぎないようにしたいものです。
「そりゃ、データがあるなら、全部使った方が、精度がよくなるんじゃないか?」と考えてしまいます。
昔は、そう思っていた時代がありました。w
しかし、最近では、サンプリングしてモデリングを進めた方が良いのでは?と思っています。
1 or 0 を予測するモデルを事例に、いくつかの切り口で考えてみたいと思います。
◆ その1 バランス調整
モデルによっては、1 と 0の比率がちょうど50%、50%の割合で出現する方が、1,0 を分類するにあたり、一番精度が出るモデルがあります。
インターネットなどのデータは、反応する人が少なく(1の割合が極端に少なく)、そのままでは高い精度を出すことができません。
だったら、出現率を調整した方が良いのでは?と。
ただし、これは全件データでも1を0と予測した場合の罰則のコストを高く設定することで、同様のことができます。
◆ その2 特徴量の作成
モデルの精度って、どのモデルを使うかによってのみ決まるわけではないです。
気の利いた特徴量(説明変数)を見つけるだけで、劇的に精度が上がります。
ということは、最初から、モデルを作成するために膨大な時間を費やすより、色々なモデルや特徴量を色々と試しながら、あたりをつけていく方が効率が良いでしょう。
最終段階において、全件データでモデルを流し直し、どれだけ精度が向上するのかを試すのはありかもしれません。
実際に、全件データを使った方が、若干精度が高くなる場合が多いような気がします。
ということで、最近は、ビッグデータを高速に処理できるデータベースが普及してきましたが、ハードに振り回されすぎないようにしたいものです。
コメント 0