Skip to content

feat: add cosine and dice similarity metrics - #300

Open
alok-108 wants to merge 1 commit into
theochem:mainfrom
alok-108:feature/add-cosine-dice-similarity
Open

feat: add cosine and dice similarity metrics#300
alok-108 wants to merge 1 commit into
theochem:mainfrom
alok-108:feature/add-cosine-dice-similarity

Conversation

@alok-108

@alok-108 alok-108 commented Sep 11, 2026

Copy link
Copy Markdown

Related to #124

This PR adds two similarity metrics to the existing similarity module:

  • Cosine similarity (cosine)
  • Dice / Sørensen-Dice similarity (dice)

Changes:

  • Implemented cosine() and dice() in selector/measures/similarity.py using NumPy.
  • Exposed them through __all__ where appropriate.
  • Extended pairwise_similarity_bit() metric dispatch to support "cosine" and "dice".
  • Added focused unit tests for numerical correctness, shape mismatch, invalid dimensionality, zero-vector behavior, and pairwise matrix properties.
  • Added concise documentation for the new similarity metrics and their relationship to corresponding distance forms.

Notes for reviewers:

  • No new dependencies.
  • Backward compatible.
  • No unrelated refactoring.
  • Zero-vector behavior is explicitly defined and tested.
  • Dice documentation distinguishes the continuous vector formulation from SciPy's boolean-specific dice distance.

@alok-108
alok-108 force-pushed the feature/add-cosine-dice-similarity branch from b9c95a0 to bc7a77b Compare September 11, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant