tapas.report.report.ROCReport
- class tapas.report.report.ROCReport(attack_summaries, suffix='', disaggregate_by=None, curve_label='attack', eff_epsilon=None, zooms=[1])
Bases:
tapas.report.report.ReportReport the Receiver Operating Characteristic curves for several attacks.
TODO: explain the disaggregation
- __init__(attack_summaries, suffix='', disaggregate_by=None, curve_label='attack', eff_epsilon=None, zooms=[1])
- Parameters
attack_summaries (list[BinaryLabelInferenceAttackSummary]) – The output of binary label-inference attacks. These can have been applied to different threat models (including datasets).
suffix (str (default "")) – Text to display in the title, and filename.
disaggregate_by (str or None (default)) – TODO generator, attack, dataset, target_id
curve_label (str, default 'attack') – Summary attribute to use as legend label for individual ROC curves. By default, each ROC curve corresponds to one attack.
eff_epsilon (float or None) – If not None, TP/FP and TN/FN bounds are displayed on the plot for the specified value of effective epsilon. If None, no curves are plotted.
zooms (list of floats, default [1]) – List of zooms of ROC curves to produce. For each zoom < 1, the ROC curves restricted to [0, zoom] x [0, zoom] (low corner) and [1-zoom, zoom] x [1-zoom, zoom] (high corner). This allows to visualise the TPR at low FPR (and TNR at low FNR) for privacy analysis.
Methods
__init__(attack_summaries[, suffix, ...])- param attack_summaries
The output of binary label-inference attacks. These can have
publish(filepath)Plot the ROC curves and save them to disk.
- publish(filepath)
Plot the ROC curves and save them to disk.