A package for analysis of rare particle decays with machine-learning algorithms
Project description
[![Code Health](https://landscape.io/github/mayou36/raredecay/master/landscape.svg?style=flat)](https://landscape.io/github/mayou36/raredecay/master)
[![Build Status](https://travis-ci.org/mayou36/raredecay.svg?branch=master)](https://travis-ci.org/mayou36/raredecay)
[![PyPI version](https://badge.fury.io/py/raredecay.svg)](https://badge.fury.io/py/raredecay)
[![Dependency Status](https://www.versioneye.com/user/projects/58273f1df09d22004f5914f9/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/58273f1df09d22004f5914f9)
# raredecay #
This package consists of several tools for the event selection of particle decays, mostly built on machine learning techniques.
It contains:
- a **data-container** holding data, weights, labels and more and implemented root-to-python data conversion as well as plots and KFold-data splitting
- **reweighting** tools from the hep_ml-repository wrapped in a KFolding structure and with metrics to evaluate the reweighting quality
- **classifier optimization** tools for hyper-parameters as well as feature selection involving a backward-elimination
- an **output handler** which makes it easy to add text as well as figures into your code and automatically save them to a file
- ... and more
## HowTo examples ##
To get an idea of the package, have a look at the howto notebooks:
[HTML version](http://mayou36.bitbucket.org/raredecay/howto/) or the
[IPython Notebooks](https://github.com/mayou36/raredecay/tree/master/howto)
## Minimal example ##
Want to test whether your reweighting did overfit? Use train_similar:
```python
from raredecay.tools.data_storage import HEPDataStorage
from raredecay.tools.metrics import train_similar
mc_data = HEPDataStorage(df, weights=*pd.Series weights*, target=0)
real_data = HEPDataStorage(df, weights=*pd.Series weights*, target=1)
score = train_similar(mc_data, real_data, old_mc_weights=1 *or whatever weights the mc had before*)
```
## Getting started right now ##
If you want it the easy, fast way, have a look at the
[Ready-to-use scripts](https://github.com/mayou36/raredecay/tree/master/scripts_readyToUse).
All you need to do is to have a look at every "TODO" task and probably change them. Then you can run the script without the need of coding at all.
## Documentation and API ##
The API as well as the documentation:
[Documentation](http://mayou36.bitbucket.org/raredecay/docs/)
## Setup and installation ##
The package, in its current state, requires root_numpy as well as rootpy (and therefore a ROOT installation with python-bindings) to be installed on your system. If that is not the case, some functions won't work and you should install it with the --no-dependencies flag and install the other requirements by hand.
First install the very newest version of REP
(the -U can be omitted, but is recommended to have the newest dependencies, on the other hand may crashes REPs reproducibility):
```
pip install -U https://github.com/yandex/rep/archive/stratifiedkfold.zip
```
Then, install the raredecay package (without ROOT-support) via
```
pip install raredecay
```
To make sure you can convert ROOT-NTuples, use
```
pip install raredecay[root] # *use raredecay\[root\] in a zsh-console*
```
As it is a young package still under developement, it may receive regular updates and improvements and it is probably a good idea to regularly download the newest package.
[pandas.DataFrame]: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
[LabeledDataStorage]: http://yandex.github.io/rep/data.html#module-rep.data.storage
[numpy.array]: http://docs.scipy.org/doc/numpy-1.10.1/user/basics.rec.html
[rootTree]: https://root.cern.ch/doc/v606/classTTree.html
[![Build Status](https://travis-ci.org/mayou36/raredecay.svg?branch=master)](https://travis-ci.org/mayou36/raredecay)
[![PyPI version](https://badge.fury.io/py/raredecay.svg)](https://badge.fury.io/py/raredecay)
[![Dependency Status](https://www.versioneye.com/user/projects/58273f1df09d22004f5914f9/badge.svg?style=flat-square)](https://www.versioneye.com/user/projects/58273f1df09d22004f5914f9)
# raredecay #
This package consists of several tools for the event selection of particle decays, mostly built on machine learning techniques.
It contains:
- a **data-container** holding data, weights, labels and more and implemented root-to-python data conversion as well as plots and KFold-data splitting
- **reweighting** tools from the hep_ml-repository wrapped in a KFolding structure and with metrics to evaluate the reweighting quality
- **classifier optimization** tools for hyper-parameters as well as feature selection involving a backward-elimination
- an **output handler** which makes it easy to add text as well as figures into your code and automatically save them to a file
- ... and more
## HowTo examples ##
To get an idea of the package, have a look at the howto notebooks:
[HTML version](http://mayou36.bitbucket.org/raredecay/howto/) or the
[IPython Notebooks](https://github.com/mayou36/raredecay/tree/master/howto)
## Minimal example ##
Want to test whether your reweighting did overfit? Use train_similar:
```python
from raredecay.tools.data_storage import HEPDataStorage
from raredecay.tools.metrics import train_similar
mc_data = HEPDataStorage(df, weights=*pd.Series weights*, target=0)
real_data = HEPDataStorage(df, weights=*pd.Series weights*, target=1)
score = train_similar(mc_data, real_data, old_mc_weights=1 *or whatever weights the mc had before*)
```
## Getting started right now ##
If you want it the easy, fast way, have a look at the
[Ready-to-use scripts](https://github.com/mayou36/raredecay/tree/master/scripts_readyToUse).
All you need to do is to have a look at every "TODO" task and probably change them. Then you can run the script without the need of coding at all.
## Documentation and API ##
The API as well as the documentation:
[Documentation](http://mayou36.bitbucket.org/raredecay/docs/)
## Setup and installation ##
The package, in its current state, requires root_numpy as well as rootpy (and therefore a ROOT installation with python-bindings) to be installed on your system. If that is not the case, some functions won't work and you should install it with the --no-dependencies flag and install the other requirements by hand.
First install the very newest version of REP
(the -U can be omitted, but is recommended to have the newest dependencies, on the other hand may crashes REPs reproducibility):
```
pip install -U https://github.com/yandex/rep/archive/stratifiedkfold.zip
```
Then, install the raredecay package (without ROOT-support) via
```
pip install raredecay
```
To make sure you can convert ROOT-NTuples, use
```
pip install raredecay[root] # *use raredecay\[root\] in a zsh-console*
```
As it is a young package still under developement, it may receive regular updates and improvements and it is probably a good idea to regularly download the newest package.
[pandas.DataFrame]: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
[LabeledDataStorage]: http://yandex.github.io/rep/data.html#module-rep.data.storage
[numpy.array]: http://docs.scipy.org/doc/numpy-1.10.1/user/basics.rec.html
[rootTree]: https://root.cern.ch/doc/v606/classTTree.html
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
raredecay-1.2.0.tar.gz
(75.1 kB
view details)
Built Distribution
raredecay-1.2.0-py2-none-any.whl
(86.4 kB
view details)
File details
Details for the file raredecay-1.2.0.tar.gz
.
File metadata
- Download URL: raredecay-1.2.0.tar.gz
- Upload date:
- Size: 75.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73f953374b42f814a11c99bf25b49913a36a920bdec33da6c0aaa64e4d16b92f |
|
MD5 | b714c4d3fd5a84e10dd386f0d128953b |
|
BLAKE2b-256 | ed8f3e36e7d2c33dd3220e3eea44374f8819cbbfa6eced2457d3937d24b19a61 |
File details
Details for the file raredecay-1.2.0-py2-none-any.whl
.
File metadata
- Download URL: raredecay-1.2.0-py2-none-any.whl
- Upload date:
- Size: 86.4 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a66b5d50f520039383f4e1f2e787f2b066904c43eb11ccb8fac7b33fe8c6796 |
|
MD5 | 31c1885a4caa4b1113f7db149f3c80e0 |
|
BLAKE2b-256 | 0570f9e4061b49101471397efb320bd225125640e90ede77f7b810a3b7347b77 |