Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SpecificityAtSensitivity Metric #1432

Merged
merged 47 commits into from
Jan 27, 2023
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
a951d99
Added a draft for specificity at sensitivity calculation
Jan 7, 2023
610ae51
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 7, 2023
b7d444c
Updated __init__
Jan 7, 2023
4e6284d
Merge branch 'master' into specificity-at-sensitivity
shenoynikhil Jan 7, 2023
a8361ec
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 7, 2023
ab09ad6
Added example values in docstrings + corrected multiclass/multilabel …
Jan 7, 2023
c4a8946
Updated with spellcheck
Jan 7, 2023
3fb80c3
Updated docstrings
Jan 7, 2023
9af6afb
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 7, 2023
57a5ecb
Added tests
Jan 7, 2023
8b70884
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 7, 2023
d774a9e
Fixed function call error
Jan 7, 2023
63ba9c6
Merge branch 'specificity-at-sensitivity' of github.com:shenoynikhil/…
Jan 7, 2023
a1fec51
Ensured doctests pass
Jan 7, 2023
e408948
fixed flake8 errors
Jan 7, 2023
3a0d4b0
Updated some tests and updated exception logic
Jan 7, 2023
f9b5c27
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 7, 2023
7d89f95
fixed doctest
Jan 7, 2023
0ac57d5
Updated CHANGELOG.md with metric
Jan 7, 2023
8570a66
Merge branch 'master' into specificity-at-sensitivity
justusschock Jan 9, 2023
3d5836d
mypy ignore
justusschock Jan 9, 2023
fd85b44
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 9, 2023
c5c9a44
fixed flake pre-commit error
Jan 9, 2023
4e7f013
updated rst file
Jan 9, 2023
3f64e96
fixed doc overline, to fix make docs
Jan 9, 2023
69633db
docs
justusschock Jan 10, 2023
e1189f7
mypy
justusschock Jan 10, 2023
93bf7fa
Merge branch 'master' into specificity-at-sensitivity
justusschock Jan 13, 2023
401864e
Merge branch 'master' into specificity-at-sensitivity
shenoynikhil Jan 21, 2023
83e936d
Updated with more readable and faster code
Jan 23, 2023
8cb9a67
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 23, 2023
861dcf3
Updated doctests accordingly
Jan 23, 2023
7d84fc2
Merge branch 'specificity-at-sensitivity' of github.com:shenoynikhil/…
Jan 23, 2023
e6ce6dc
Merge branch 'master' into specificity-at-sensitivity
shenoynikhil Jan 25, 2023
7015815
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 25, 2023
45b1c59
Updated test
Jan 25, 2023
4d6d463
fixed indentation in docstrings
Jan 26, 2023
2d89799
Merge branch 'master' into specificity-at-sensitivity
shenoynikhil Jan 26, 2023
8cfdd2a
update ruff
justusschock Jan 26, 2023
af38307
Merge branch 'master' into specificity-at-sensitivity
justusschock Jan 26, 2023
5b576e7
removed try-error to if-else
Jan 26, 2023
78e32cd
Merge branch 'specificity-at-sensitivity' of github.com:shenoynikhil/…
Jan 26, 2023
f95a641
Merge branch 'master' into specificity-at-sensitivity
justusschock Jan 27, 2023
28a2e3c
Apply suggestions from code review
Borda Jan 27, 2023
790f7ce
Merge branch 'master' into specificity-at-sensitivity
mergify[bot] Jan 27, 2023
10579b8
Merge branch 'master' into specificity-at-sensitivity
mergify[bot] Jan 27, 2023
d9e1fa3
Merge branch 'master' into specificity-at-sensitivity
mergify[bot] Jan 27, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Added support for `SpecificityAtSensitivity` Metric ([#1432](https://github.com/Lightning-AI/metrics/pull/1432))

- Added support for plotting of metrics through `.plot()` method ([#1328](https://github.com/Lightning-AI/metrics/pull/1328))


Expand Down
53 changes: 53 additions & 0 deletions docs/source/classification/specificity_at_sensitivity.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
.. customcarditem::
:header: Specificity At Sensitivity
:image: https://pl-flash-data.s3.amazonaws.com/assets/thumbnails/tabular_classification.svg
:tags: Classification

##########################
Specificity At Sensitivity
##########################

Module Interface
________________

BinarySpecificityAtSensitivity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: torchmetrics.classification.BinarySpecificityAtSensitivity
:noindex:
:exclude-members: update, compute

MulticlassSpecificityAtSensitivity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: torchmetrics.classification.MulticlassSpecificityAtSensitivity
:noindex:
:exclude-members: update, compute

MultilabelSpecificityAtSensitivity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autoclass:: torchmetrics.classification.MultilabelSpecificityAtSensitivity
:noindex:
:exclude-members: update, compute

Functional Interface
____________________

binary_specificity_at_sensitivity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autofunction:: torchmetrics.functional.classification.binary_specificity_at_sensitivity
:noindex:

multiclass_specificity_at_sensitivity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autofunction:: torchmetrics.functional.classification.multiclass_specificity_at_sensitivity
:noindex:

multilabel_specificity_at_sensitivity
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. autofunction:: torchmetrics.functional.classification.multilabel_specificity_at_sensitivity
:noindex:
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ select = [
#]
ignore = [
"E731", # Do not assign a lambda expression, use a def
"F401", # Imports of __all__
]
# Exclude a variety of commonly ignored directories.
exclude = [
Expand All @@ -98,6 +99,7 @@ exclude = [
"docs"
]
ignore-init-module-imports = true
unfixable = ["F401"]

[tool.ruff.per-file-ignores]
"setup.py" = ["D100", "SIM115"]
Expand Down
8 changes: 8 additions & 0 deletions src/torchmetrics/classification/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,11 @@
MultilabelSpecificity,
Specificity,
)
from torchmetrics.classification.specificity_at_sensitivity import (
BinarySpecificityAtSensitivity,
MulticlassSpecificityAtSensitivity,
MultilabelSpecificityAtSensitivity,
)

__all__ = [
"BinaryConfusionMatrix",
Expand Down Expand Up @@ -188,4 +193,7 @@
"MulticlassSpecificity",
"MultilabelSpecificity",
"Specificity",
"BinarySpecificityAtSensitivity",
"MulticlassSpecificityAtSensitivity",
"MultilabelSpecificityAtSensitivity",
]
Loading