分類モデルの公平性と偏りを監視する
Databricks レイクハウス監視を使用すると、分類モデルの予測を監視して、さまざまなグループに関連付けられているデータでモデルが同様のパフォーマンスを示しているかどうかを確認できます。 たとえば、さまざまな属性の申請者に対して、ローン返済不能の分類子によって同じ誤検知率が生成されるかどうかを調査することができます。
公平性と偏りのメトリックを操作する
公平性と偏りを監視するには、ブール値スライス式を作成します。 True
に評価されるスライス式で定義されたグループは、保護されたグループ (つまり、偏りがないかをチェックする際の照合先となるグループ) と見なされます。 たとえば、slicing_exprs=["age < 25"]
を作成すると、slice_key
= "age < 25" および slice_value
= True
で特定されるスライスは保護されたグループと見なされ、slice_key
= "age < 25" および slice_value
= False
で特定されるスライスは保護されていないグループと見なされます。
モニターによって、グループ間の分類モデルのパフォーマンスを比較するメトリックが自動的に計算されます。 プロファイル メトリック テーブルでは、次のメトリックが報告されます。
predictive_parity
: グループ間のモデルの精度を比較します。predictive_equality
: グループ間の誤検知率を比較します。equal_opportunity
: ラベルが両方のグループで同じように予測されるかどうかを測定します。statistical_parity
: グループ間の予測結果の差を測定します。
これらのメトリックは、分析の種類が InferenceLog
で、problem_type
が classification
の場合にのみ計算されます。
これらのメトリックの定義については、次のリファレンスを参照してください。
- 機械学習の公平性に関する Wikipedia の記事:
https://en.wikipedia.org/wiki/Fairness_(machine_learning)
- 公平性の定義の説明、Verma と Rubin、2018 年
公平性と偏りのメトリックの出力
これらのメトリックの詳細と、メトリック テーブルでそれらを表示する方法については、API リファレンスを参照 してください。 公平性と偏りのメトリックすべてが、以下に示すように同じデータ型を共有しており、すべての予測クラスにわたって "one-vs-all" の方法で計算された公平性スコアを、キーと値のペアとして示しています。
これらのメトリックに対してアラートを作成できます。 たとえば、モデルの所有者は、公平性メトリックがしきい値を超えたときのアラートを設定し、そのアラートを、調査のために待機している担当者またはチームにルーティングできます。