From 64c606d25cacb8654e5a0a5cc7315ef137a3dd1f Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 11 Apr 2023 19:38:03 +0000 Subject: automatic import of python-emmv --- python-emmv.spec | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 268 insertions(+) create mode 100644 python-emmv.spec (limited to 'python-emmv.spec') diff --git a/python-emmv.spec b/python-emmv.spec new file mode 100644 index 0000000..d318b50 --- /dev/null +++ b/python-emmv.spec @@ -0,0 +1,268 @@ +%global _empty_manifest_terminate_build 0 +Name: python-emmv +Version: 0.0.4 +Release: 1 +Summary: Metrics for unsupervised anomaly detection models +License: MIT License +URL: https://github.com/christian-oleary/emmv +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/37/1f/2e9f578680b98196e3aef716e78a63e66cc4b9f39c32563afa7effadce35/emmv-0.0.4.tar.gz +BuildArch: noarch + +Requires: python3-numpy +Requires: python3-pandas +Requires: python3-setuptools +Requires: python3-scikit-learn + +%description +# EMMV + +Implementation of EM/MV metrics based on N. Goix et al. + +This is a means of evaluating anomaly detection models without anomaly labels + +## Installation + +```shell +pip install emmv +``` + +## Example Use + +```python +from emmv import emmv_scores + +test_scores = emmv_scores(model, features) +``` + +- Where 'model' is your **trained** scikit-learn, PyOD, or PyCaret model +- Where 'features' is a 2D DataFrame of features (the *X* matrix) + +Example resulting object: + +```json +{ + "em": 0.77586, + "mv": 0.25367 +} +``` + +If you are using models without a built-in *decision_function* (e.g. Keras or ADTK models), then you need to specify an anomaly scoring function. Please see examples in the examples folder. + +## Running Examples + +```shell +pip install . +python ./examples/sklearn_example.py +``` + +## Interpreting scores + +- The best model should have the **highest** Excess Mass score +- The best model should have the **lowest** Mass Volume score +- Probably easiest to just use one of the metrics +- Extreme values are possible + +## Contact + +Please feel free to get in touch at christian.oleary@mtu.ie + +## Citation + +```latex +@Misc{emmv, +author = {Christian O'Leary}, +title = {EMMV library}, +howpublished = {\url{https://pypi.org/project/emmv/}}, +year = {2021--2021} +} +``` + + + + +%package -n python3-emmv +Summary: Metrics for unsupervised anomaly detection models +Provides: python-emmv +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-emmv +# EMMV + +Implementation of EM/MV metrics based on N. Goix et al. + +This is a means of evaluating anomaly detection models without anomaly labels + +## Installation + +```shell +pip install emmv +``` + +## Example Use + +```python +from emmv import emmv_scores + +test_scores = emmv_scores(model, features) +``` + +- Where 'model' is your **trained** scikit-learn, PyOD, or PyCaret model +- Where 'features' is a 2D DataFrame of features (the *X* matrix) + +Example resulting object: + +```json +{ + "em": 0.77586, + "mv": 0.25367 +} +``` + +If you are using models without a built-in *decision_function* (e.g. Keras or ADTK models), then you need to specify an anomaly scoring function. Please see examples in the examples folder. + +## Running Examples + +```shell +pip install . +python ./examples/sklearn_example.py +``` + +## Interpreting scores + +- The best model should have the **highest** Excess Mass score +- The best model should have the **lowest** Mass Volume score +- Probably easiest to just use one of the metrics +- Extreme values are possible + +## Contact + +Please feel free to get in touch at christian.oleary@mtu.ie + +## Citation + +```latex +@Misc{emmv, +author = {Christian O'Leary}, +title = {EMMV library}, +howpublished = {\url{https://pypi.org/project/emmv/}}, +year = {2021--2021} +} +``` + + + + +%package help +Summary: Development documents and examples for emmv +Provides: python3-emmv-doc +%description help +# EMMV + +Implementation of EM/MV metrics based on N. Goix et al. + +This is a means of evaluating anomaly detection models without anomaly labels + +## Installation + +```shell +pip install emmv +``` + +## Example Use + +```python +from emmv import emmv_scores + +test_scores = emmv_scores(model, features) +``` + +- Where 'model' is your **trained** scikit-learn, PyOD, or PyCaret model +- Where 'features' is a 2D DataFrame of features (the *X* matrix) + +Example resulting object: + +```json +{ + "em": 0.77586, + "mv": 0.25367 +} +``` + +If you are using models without a built-in *decision_function* (e.g. Keras or ADTK models), then you need to specify an anomaly scoring function. Please see examples in the examples folder. + +## Running Examples + +```shell +pip install . +python ./examples/sklearn_example.py +``` + +## Interpreting scores + +- The best model should have the **highest** Excess Mass score +- The best model should have the **lowest** Mass Volume score +- Probably easiest to just use one of the metrics +- Extreme values are possible + +## Contact + +Please feel free to get in touch at christian.oleary@mtu.ie + +## Citation + +```latex +@Misc{emmv, +author = {Christian O'Leary}, +title = {EMMV library}, +howpublished = {\url{https://pypi.org/project/emmv/}}, +year = {2021--2021} +} +``` + + + + +%prep +%autosetup -n emmv-0.0.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-emmv -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot - 0.0.4-1 +- Package Spec generated -- cgit v1.2.3