Skip to main content

DistClassiPy Logo


PyPI version Downloads Codecov License - GPL-3 Code style: black

arXiv ascl:2403.002

A python package for a distance-based classifier which can use several different distance metrics.

Installation

To install DistClassiPy, run the following command:

pip install distclassipy

Usage

Here's a quick example to get you started with DistClassiPy:

import distclassipy as dcpy
from sklearn.datasets import make_classification

X, y = make_classification(
    n_samples=1000,
    n_features=4,
    n_informative=2,
    n_redundant=0,
    random_state=0,
    shuffle=False,
)
# Example usage of DistanceMetricClassifier
clf = dcpy.DistanceMetricClassifier()
clf.fit(X, y)
print(clf.predict([[0, 0, 0, 0]], metric="canberra"))

# Example usage of EnsembleDistanceClassifier
ensemble_clf = dcpy.EnsembleDistanceClassifier(feat_idx=0)
ensemble_clf.fit(X, y)
print(ensemble_clf.predict(X))

Features

  • Distance Metric-Based Classification: Utilizes a variety of distance metrics for classification.
  • Customizable for Scientific Goals: Allows fine-tuning based on scientific objectives by selecting appropriate distance metrics and features, enhancing both computational efficiency and model performance.
  • Interpretable Results: Offers improved interpretability of classification outcomes by directly using distance metrics and feature importance, making it ideal for scientific applications.
  • Efficient and Scalable: Demonstrates lower computational requirements compared to traditional methods like Random Forests, making it suitable for large datasets.
  • Open Source and Accessible: Available as an open-source Python package on PyPI, encouraging broad application in astronomy and beyond.
  • (NEW) Ensemble Distance Classification: Leverages an ensemble approach to use different distance metrics for each quantile, improving classification performance across diverse data distributions.
  • (NEW) Expanded Distance Metrics: DistClassiPy now offers 43 built-in distance metrics, an increase from the previous 18. Additionally, users can still define and use custom distance metrics as needed.

Documentation

For more detailed information about the package and its functionalities, please refer to the official documentation.

Contributing

Contributions are welcome! If you have suggestions for improvements or bug fixes, please feel free to open an issue or submit a pull request.

License

DistClassiPy is released under the GNU General Public License v3.0. See the LICENSE file for more details.

Citation

If you use DistClassiPy in your research or project, please consider citing the paper:

Chaini, S., Mahabal, A., Kembhavi, A., & Bianco, F. B. (2024). Light Curve Classification with DistClassiPy: a new distance-based classifier. Astronomy and Computing. https://doi.org/10.1016/j.ascom.2024.100850.

Bibtex

@ARTICLE{2024A&C....4800850C,
       author = {{Chaini}, S. and {Mahabal}, A. and {Kembhavi}, A. and {Bianco}, F.~B.},
        title = "{Light curve classification with DistClassiPy: A new distance-based classifier}",
      journal = {Astronomy and Computing},
     keywords = {Variable stars (1761), Astronomy data analysis (1858), Open source software (1866), Astrostatistics (1882), Classification (1907), Light curve classification (1954), Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Solar and Stellar Astrophysics, Computer Science - Machine Learning},
         year = 2024,
        month = jul,
       volume = {48},
          eid = {100850},
        pages = {100850},
          doi = {10.1016/j.ascom.2024.100850},
archivePrefix = {arXiv},
       eprint = {2403.12120},
 primaryClass = {astro-ph.IM},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2024A&C....4800850C},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Authors

Siddharth Chaini, Ashish Mahabal, Ajit Kembhavi and Federica B. Bianco.

Release files for distclassipy 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for distclassipy 0.2.3
File Size Uploaded
distclassipy-0.2.3.tar.gz 60.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for distclassipy 0.2.3
File Interpreter ABI Platform
distclassipy-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 105.8 kB

Release files / distclassipy-0.2.3.tar.gz

Download URL distclassipy-0.2.3.tar.gz
Size 60.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f9996dbfdab88e919568eb0fdfe6cbb54bd82e007f9962d6a9661ea9b9af6bba
BLAKE2b-256 checksum
How to use checksums
f5a645f3a65279b0f3dd3c725e2590477c52abd958afbc57d8425ef54989434b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 4, 2026.

Transparency log

Release files / distclassipy-0.2.3-py3-none-any.whl

Download URL distclassipy-0.2.3-py3-none-any.whl
Size 45.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3879944840b7130f45285b84e330564a7c8d06be9ca16ee1f70d5b588548bfb0
BLAKE2b-256 checksum
How to use checksums
990ba0b83f1057bd14a4ea62061b56c4acac6bff38e79f9486ab4831445f664c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 4, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page