スキット-ラーンのカスタムスコアリング関数

「スキット-ラーンのカスタムスコアリング関数の最適化」

RandomizedSearchCV、GridSearchCV、およびcross_val_scoreで使用するスコア関数への深堀り

engin akyurt氏の写真(写真:Unsplash)

RandomizedSearchCVGridSearchCV、およびcross_val_scoreは、scikit-learnでの機械学習モデルの最適化と評価に使用されるツールです。これらのツールは、ハイパーパラメータのチューニングとモデルのパフォーマンス評価にシステマティックなアプローチを提供します。

長い間、私はこれらのツールをデフォルトのまま使用していましたが、最終的にはこれらのツールを使用する際に、scikit-learnはモデルのデフォルトスコアリング関数を使用してパフォーマンスを評価していることを知りました。デフォルトのスコアリングメトリックが常に適切ではないため、モデルに関する誤った判断を引き起こす可能性があります。

この記事の残りでは、scikit-learnでカスタムスコアリング関数をいつ、どのように利用するかについて詳しく説明します。

例:保険請求におけるTweedie回帰

この例では、保険データの不確実性によって複雑化する将来の保険請求費用の予測用の回帰モデルを開発します。保険データの不確実性は、いくつかの要因によるものです。

  • 保険を購入した後、請求を絶対に行う保証がない場合があります。これにより、ターゲット変数にゼロが高く集中することになります。
  • もし誰かが請求を行った場合、その請求の大きさは大きいか小さいかのいずれかです。これにより、目標変数に大きな分散が生じます。

デフォルトでは、RandomizedSearchCVGridSearchCV、およびcross_val_scoreは、それに渡されるクラシファイアまたはリグレッサに関連するデフォルトのスコアリングメトリックを使用します。多くの一般的に使用される回帰モデルでは、R²やRMSEなどの伝統的なメトリックがデフォルトのスコアとなっています。しかし、保険データに対してこれらのメトリックを使用してパラメータのチューニングやモデルのパフォーマンス評価を行うと、しばしば正確でない判断や結果につながることがあります。

したがって、保険データを扱う場合は、これらのツールに適切なスコアリング関数を渡して、モデルのパラメータを正しく設定し、モデルのパフォーマンスを評価する必要があります。より一般的には、これらのツールを使用する際には、スコアリング関数が適切であることを確認する必要があります。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more