Categorisation of labeled data
Project description
===============================
binopt
===============================
.. image:: https://img.shields.io/pypi/v/binopt.svg
:target: https://pypi.python.org/pypi/binopt
.. image:: https://img.shields.io/travis/yhaddad/binopt.svg
:target: https://travis-ci.org/yhaddad/binopt
.. image:: https://readthedocs.org/projects/binopt/badge/?version=latest
:target: https://binopt.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/yhaddad/binopt/shield.svg
:target: https://pyup.io/repos/github/yhaddad/binopt/
:alt: Updates
.. image:: https://zenodo.org/badge/86721620.svg
:target: https://zenodo.org/badge/latestdoi/86721620
This package is aiming to categorize labeled data in terms of a global figure of merit. In high energy physics, categorization of collision data is done by maximizing the discovery significance. This package run on unbinned binary datasets.
installation
************
Install like any other python package::
pip install binopt --user
or::
git clone git@github.com:yhaddad/binopt.git
cd binopt/
pip install .
Getting started
***************
.. code-block:: python
sevent = 1000
bevent = 10000
X = np.concatenate((
expit(np.random.normal(+2.0, 2.0, sevent)),
expit(np.random.normal(-0.5, 2.0, bevent))
))
Y = np.concatenate((
np.ones(sevent),
np.zeros(bevent)
))
W = np.concatenate((np.ones(sevent), np.ones(bevent)))
binner = binopt.optimize_bin(
nbins=3, range=[0, 1],
drop_last_bin=True,
fix_upper=True,
fix_lower=False,
use_kde_density=True
)
opt = binner.fit(
X, Y, sample_weights=W,
method="Nelder-Mead",
breg=None, fom="AMS2"
)
print "bounds : ", opt.x
print "signif : ", binner.binned_score(opt.x)
print "Nsig : ", binner.binned_stats(opt.x)[0]
print "Nbkg : ", binner.binned_stats(opt.x)[1]
* Free software: GNU General Public License v3
* Documentation: https://binopt.readthedocs.io.
Features
--------
* TODO
Credits
---------
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
=======
History
=======
0.1.0 (2017-04-06)
------------------
* First release on PyPI.
binopt
===============================
.. image:: https://img.shields.io/pypi/v/binopt.svg
:target: https://pypi.python.org/pypi/binopt
.. image:: https://img.shields.io/travis/yhaddad/binopt.svg
:target: https://travis-ci.org/yhaddad/binopt
.. image:: https://readthedocs.org/projects/binopt/badge/?version=latest
:target: https://binopt.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://pyup.io/repos/github/yhaddad/binopt/shield.svg
:target: https://pyup.io/repos/github/yhaddad/binopt/
:alt: Updates
.. image:: https://zenodo.org/badge/86721620.svg
:target: https://zenodo.org/badge/latestdoi/86721620
This package is aiming to categorize labeled data in terms of a global figure of merit. In high energy physics, categorization of collision data is done by maximizing the discovery significance. This package run on unbinned binary datasets.
installation
************
Install like any other python package::
pip install binopt --user
or::
git clone git@github.com:yhaddad/binopt.git
cd binopt/
pip install .
Getting started
***************
.. code-block:: python
sevent = 1000
bevent = 10000
X = np.concatenate((
expit(np.random.normal(+2.0, 2.0, sevent)),
expit(np.random.normal(-0.5, 2.0, bevent))
))
Y = np.concatenate((
np.ones(sevent),
np.zeros(bevent)
))
W = np.concatenate((np.ones(sevent), np.ones(bevent)))
binner = binopt.optimize_bin(
nbins=3, range=[0, 1],
drop_last_bin=True,
fix_upper=True,
fix_lower=False,
use_kde_density=True
)
opt = binner.fit(
X, Y, sample_weights=W,
method="Nelder-Mead",
breg=None, fom="AMS2"
)
print "bounds : ", opt.x
print "signif : ", binner.binned_score(opt.x)
print "Nsig : ", binner.binned_stats(opt.x)[0]
print "Nbkg : ", binner.binned_stats(opt.x)[1]
* Free software: GNU General Public License v3
* Documentation: https://binopt.readthedocs.io.
Features
--------
* TODO
Credits
---------
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
=======
History
=======
0.1.0 (2017-04-06)
------------------
* First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
binopt-0.2.1.tar.gz
(28.6 kB
view details)
Built Distribution
File details
Details for the file binopt-0.2.1.tar.gz
.
File metadata
- Download URL: binopt-0.2.1.tar.gz
- Upload date:
- Size: 28.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b897d9b333f9d58168ac62b8524ce6fb71e86169b8f0d108e7ce7171a42ce0f0 |
|
MD5 | 85ad86dde958048ce4e88831fdf3b2c6 |
|
BLAKE2b-256 | b7b2f99d747e4c565db6ee4d40b492dcd0446679130936d4f53ba2571bd92814 |
File details
Details for the file binopt-0.2.1-py2.py3-none-any.whl
.
File metadata
- Download URL: binopt-0.2.1-py2.py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2efee2f3e78e57d3508d9041c4a4039160293fcc6495f40146cfe500e193c2d9 |
|
MD5 | c6abc75a8b10706bcd929534f80e8a6e |
|
BLAKE2b-256 | 8a3e2782b23fe6246857262b2c04e9bd5a3724c2b434e1fbe9cfb0b93ef25b49 |