False Discovery Rate

Overview

The False Discovery Rate (FDR) is a metric used to assess the proportion of false positive predictions among all positive predictions made by a classification model. It quantifies the rate of incorrect positive predictions relative to the total number of positive predictions.

Formula

FDR = P( actual = - | prediction = +) = FP/(TP + FP)

Source

Where:

  • TP (True Positives): The number of positive instances correctly predicted by the model
  • FP (False Positives): The number of negative instances incorrectly predicted as positive by the model

Usage

Manually

# Usage example
fdr_priv, fdr_unpriv = false_discovery_rate(df, protected_attribute, privileged_group, labels, positive_label, y_true)

print("False Discovery Rate for privileged group:", fdr_priv)
print("False Discovery Rate for unprivileged group:", fdr_unpriv)

Using Fairness Object

fdr_priv,fdr_unpriv = fo.compute(false_discovery_rate)

Results

False Discovery Rate for privileged group: 0.599999999988 
False Discovery Rate for unprivileged group: 0.599999999988

These results are obtained by using the input data given in the Create Example Data page under Getting Started

Interpretation

A lower FDR value indicates that the model has a lower rate of false positive predictions among all positive predictions, which is desirable. An FDR of 0.0 indicates that there are no false positive predictions made by the model.