分類器の確率キャリブレーション

Machine LearningMachine LearningBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

分類タスクにおいては、クラスラベルだけでなく関連する確率を予測することが重要な場合が多い。確率は予測の信頼度を示す。しかし、すべての分類器が適切にキャリブレーションされた確率を提供するわけではなく、一部は過信的であり、他のものは自信過ちである。予測確率の個別のキャリブレーションは、後処理として頻繁に望まれる。この実験では、このキャリブレーションの2つの異なる方法を示し、Brierスコアを使用して返される確率の品質を評価する。

VMのヒント

VMの起動が完了した後、左上隅をクリックしてノートブックタブに切り替え、Jupyter Notebookを使って練習しましょう。

時々、Jupyter Notebookが読み込み終了するまで数秒待つ必要がある場合があります。Jupyter Notebookの制限により、操作の検証を自動化することはできません。

学習中に問題に遭遇した場合は、Labbyにお問い合わせください。セッション後にフィードバックを提供してください。すぐに問題を解決いたします。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49075{{"分類器の確率キャリブレーション"}} end

合成データセットを生成する

まず、2つのクラスを持つ3つのブロブを含む合成データセットを生成します。ここで、2番目のブロブは正のサンプルと負のサンプルが半分ずつ含まれています。したがって、このブロブ内の確率は0.5になります。

ガウスナイーブベイズ

分類にはガウスナイーブベイズを使用しますが、これはしばしばキャリブレーションが不十分な確率を持ちます。キャリブレーションなしのガウスナイーブベイズ分類器、シグモイドキャリブレーション、および非パラメトリック等張キャリブレーションを使用して推定確率を比較します。

データと予測確率をプロットする

データと予測確率をプロットします。

まとめ

この実験では、合成データセットを生成し、ガウスナイーブベイズを分類に使用し、キャリブレーションなしのガウスナイーブベイズ分類器、シグモイドキャリブレーション、および非パラメトリック等張キャリブレーションを使用して推定確率を比較しました。その後、データと予測確率をプロットしました。Brierスコアの損失を比較することで、非パラメトリックモデルのみが、異種ラベルを持つ中間クラスタに属するほとんどのサンプルに対して、予想される0.5に近い確率を返す確率キャリブレーションを提供できることがわかりました。これにより、Brierスコアが大幅に改善されます。