distclassipy 0.1.5__py3-none-any.whl → 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: distclassipy
3
- Version: 0.1.5
3
+ Version: 0.2.0
4
4
  Summary: A python package for a distance-based classifier which can use several different distance metrics.
5
5
  Author-email: Siddharth Chaini <sidchaini@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -693,10 +693,10 @@ Classifier: Operating System :: OS Independent
693
693
  Requires-Python: >=3.10
694
694
  Description-Content-Type: text/markdown
695
695
  License-File: LICENSE
696
- Requires-Dist: joblib >=1.3.2
697
- Requires-Dist: numpy <2,>=1.25.2
698
- Requires-Dist: pandas >=2.0.3
699
- Requires-Dist: scikit-learn >=1.2.2
696
+ Requires-Dist: joblib>=1.3.2
697
+ Requires-Dist: numpy>=1.25.2
698
+ Requires-Dist: pandas>=2.0.3
699
+ Requires-Dist: scikit-learn>=1.2.2
700
700
 
701
701
  <h1 align="center">
702
702
  <picture align="center">
@@ -740,17 +740,25 @@ X, y = make_classification(
740
740
  random_state=0,
741
741
  shuffle=False,
742
742
  )
743
- clf = dcpy.DistanceMetricClassifier(metric="canberra")
743
+ # Example usage of DistanceMetricClassifier
744
+ clf = dcpy.DistanceMetricClassifier()
744
745
  clf.fit(X, y)
745
- print(clf.predict([[0, 0, 0, 0]]))
746
+ print(clf.predict([[0, 0, 0, 0]], metric="canberra"))
747
+
748
+ # Example usage of EnsembleDistanceClassifier
749
+ ensemble_clf = dcpy.EnsembleDistanceClassifier(feat_idx=0)
750
+ ensemble_clf.fit(X, y)
751
+ print(ensemble_clf.predict(X))
746
752
  ```
747
753
 
748
754
  ## Features
749
755
  - **Distance Metric-Based Classification**: Utilizes a variety of distance metrics for classification.
750
756
  - **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.
751
757
  - **Interpretable Results**: Offers improved interpretability of classification outcomes by directly using distance metrics and feature importance, making it ideal for scientific applications.
752
- - **Efficient and Scalable**: Demonstrates lower computational requirements compared to traditional methods like Random Forests, making it suitable for large datasets
753
- - **Open Source and Accessible**: Available as an open-source Python package on PyPI, encouraging broad application in astronomy and beyond
758
+ - **Efficient and Scalable**: Demonstrates lower computational requirements compared to traditional methods like Random Forests, making it suitable for large datasets.
759
+ - **Open Source and Accessible**: Available as an open-source Python package on PyPI, encouraging broad application in astronomy and beyond.
760
+ - **(NEW) Ensemble Distance Classification**: Leverages an ensemble approach to use different distance metrics for each quantile, improving classification performance across diverse data distributions.
761
+ - **(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.
754
762
 
755
763
  ## Documentation
756
764
 
@@ -765,27 +773,30 @@ DistClassiPy is released under the [GNU General Public License v3.0](https://www
765
773
  ## Citation
766
774
 
767
775
  If you use DistClassiPy in your research or project, please consider citing the paper:
768
- > Chaini, S., Mahabal, A., Kembhavi, A., & Bianco, F. B. (2024). Light Curve Classification with DistClassiPy: a new distance-based classifier. arXiv. https://doi.org/10.48550/arXiv.2403.12120
776
+ > 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.
769
777
 
770
778
  ### Bibtex
771
779
 
772
780
 
773
781
  ```bibtex
774
- @ARTICLE{chaini2024light,
775
- author = {{Chaini}, Siddharth and {Mahabal}, Ashish and {Kembhavi}, Ajit and {Bianco}, Federica B.},
776
- title = "{Light Curve Classification with DistClassiPy: a new distance-based classifier}",
777
- journal = {arXiv e-prints},
778
- keywords = {Astrophysics - Instrumentation and Methods for Astrophysics, Astrophysics - Solar and Stellar Astrophysics, Computer Science - Machine Learning},
779
- year = 2024,
780
- month = mar,
781
- eid = {arXiv:2403.12120},
782
- pages = {arXiv:2403.12120},
783
- archivePrefix = {arXiv},
782
+ @ARTICLE{2024A&C....4800850C,
783
+ author = {{Chaini}, S. and {Mahabal}, A. and {Kembhavi}, A. and {Bianco}, F.~B.},
784
+ title = "{Light curve classification with DistClassiPy: A new distance-based classifier}",
785
+ journal = {Astronomy and Computing},
786
+ 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},
787
+ year = 2024,
788
+ month = jul,
789
+ volume = {48},
790
+ eid = {100850},
791
+ pages = {100850},
792
+ doi = {10.1016/j.ascom.2024.100850},
793
+ archivePrefix = {arXiv},
784
794
  eprint = {2403.12120},
785
- primaryClass = {astro-ph.IM},
786
- adsurl = {https://ui.adsabs.harvard.edu/abs/2024arXiv240312120C},
787
- adsnote = {Provided by the SAO/NASA Astrophysics Data System}
795
+ primaryClass = {astro-ph.IM},
796
+ adsurl = {https://ui.adsabs.harvard.edu/abs/2024A&C....4800850C},
797
+ adsnote = {Provided by the SAO/NASA Astrophysics Data System}
788
798
  }
799
+
789
800
  ```
790
801
 
791
802
 
@@ -0,0 +1,8 @@
1
+ distclassipy/__init__.py,sha256=26ocDZ8viE2UEOTOzEvbf78QwHzzOOeKPjYJvVwv-wE,1230
2
+ distclassipy/classifier.py,sha256=ymzqN-bzgUVbMaiKhWHTJPy377QRyhw_OY1zWwV6eKA,25381
3
+ distclassipy/distances.py,sha256=FXREhY-HcSZbrCrmP5MBJaqbxqyf3gnzgPYS9pVslwA,54358
4
+ distclassipy-0.2.0.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
5
+ distclassipy-0.2.0.dist-info/METADATA,sha256=97wSaNp9KgLZwayhc5SJ1tURtS16La7Bl6fyBB56Ysk,47174
6
+ distclassipy-0.2.0.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
7
+ distclassipy-0.2.0.dist-info/top_level.txt,sha256=jiwqhSkq7CMCjV_Zar2dSDBO63o5C_Dp2tpGiVV6COE,13
8
+ distclassipy-0.2.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (75.2.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,8 +0,0 @@
1
- distclassipy/__init__.py,sha256=-8fNtTHIkoYYhccVq5HI7JQOA3sc3xs5dufpFmirsYc,1074
2
- distclassipy/classifier.py,sha256=1A4Wzkxbx8YHcOf3v3Rbhp5lYvhYHMDwjvaZ41ZTSZw,19326
3
- distclassipy/distances.py,sha256=B-gVwdDYYa9xakE4tn7NoRHQeRIGvkijEsU5YnsjqdE,53082
4
- distclassipy-0.1.5.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
5
- distclassipy-0.1.5.dist-info/METADATA,sha256=ISyru0pBilf88eS6fIPaYH5DGsl0WAB_v2wfA1ltP9c,46342
6
- distclassipy-0.1.5.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
7
- distclassipy-0.1.5.dist-info/top_level.txt,sha256=jiwqhSkq7CMCjV_Zar2dSDBO63o5C_Dp2tpGiVV6COE,13
8
- distclassipy-0.1.5.dist-info/RECORD,,