Metadata-Version: 2.4
Name: hep_ml
Version: 0.8.0
Summary: Machine Learning for High Energy Physics
Project-URL: Homepage, https://github.com/arogozhnikov/hep_ml
Author: Alex Rogozhnikov
License: Apache 2.0
License-File: LICENSE
Keywords: high energy physics,machine learning,particle physics,supervised learning,uncorrelated methods of machine learning
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >3.9
Requires-Dist: numpy>=1.9
Requires-Dist: pandas>=1.0.0
Requires-Dist: scikit-learn>=1.0
Requires-Dist: scipy>=1.0.0
Provides-Extra: dev
Requires-Dist: ipython[all]>=3.0; extra == 'dev'
Requires-Dist: matplotlib>=1.4; extra == 'dev'
Requires-Dist: nbval; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-xdist; extra == 'dev'
Requires-Dist: pytest>8; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Requires-Dist: sphinx; extra == 'dev'
Requires-Dist: sphinx-rtd-theme; extra == 'dev'
Requires-Dist: uproot; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx; extra == 'doc'
Requires-Dist: sphinx-rtd-theme; extra == 'doc'
Requires-Dist: uproot; extra == 'doc'
Provides-Extra: test
Requires-Dist: ipython[all]>=3.0; extra == 'test'
Requires-Dist: matplotlib>=1.4; extra == 'test'
Requires-Dist: nbval; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: pytest-xdist; extra == 'test'
Requires-Dist: pytest>8; extra == 'test'
Description-Content-Type: text/markdown

# hep_ml

**hep_ml** provides specific machine learning tools for purposes of high energy physics.

<!--- [![travis status](https://travis-ci.org/arogozhnikov/hep_ml.svg?branch=master)](https://travis-ci.org/arogozhnikov/hep_ml) --->
[![Run tests](https://github.com/arogozhnikov/hep_ml/actions/workflows/run_tests.yml/badge.svg)](https://github.com/arogozhnikov/hep_ml/actions/workflows/run_tests.yml)
[![PyPI version](https://badge.fury.io/py/hep-ml.svg)](https://badge.fury.io/py/hep-ml)
[![Documentation](https://img.shields.io/badge/documentation-link-blue.svg)](https://arogozhnikov.github.io/hep_ml/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.1247379.svg)](https://doi.org/10.5281/zenodo.1247379)



![hep_ml, python library for high energy physics](https://github.com/arogozhnikov/hep_ml/blob/data/data_to_download/hep_ml_image.png)


### Main features

* uniform classifiers - the classifiers with low correlation of predictions and mass (or some other variable, or even set of variables)
  * __uBoost__ optimized implementation inside
  * __UGradientBoosting__ (with different losses, specially __FlatnessLoss__ is of high interest)
* measures of uniformity (see **hep_ml.metrics**)
* advanced losses for classification, regression and ranking for __UGradientBoosting__ (see **hep_ml.losses**). 
* **hep_ml.reweight** - reweighting multidimensional distributions <br />
  (_multi_ here means 2, 3, 5 and more dimensions - see GBReweighter!)
* **hep_ml.splot** - minimalistic sPlot-ting 
* **hep_ml.speedup** - building models for fast classification (Bonsai BDT)
* **sklearn**-compatibility of estimators.

### Installation

Plain and simple:

```bash
pip install hep_ml
```

If you're new to python and never used `pip`, first install scikit-learn [with these instructions](http://scikit-learn.org/stable/install.html).

### Links

* [documentation](https://arogozhnikov.github.io/hep_ml/)
* [notebooks, code examples](https://github.com/arogozhnikov/hep_ml/tree/master/notebooks)
    - you may need to install `ROOT` and `root_numpy` to run those 
* [repository](https://github.com/arogozhnikov/hep_ml)
* [issue tracker](https://github.com/arogozhnikov/hep_ml/issues)

### Related projects 
Libraries you'll require to make your life easier and HEPpier.

* [IPython Notebook](http://ipython.org/notebook.html) &mdash; web-shell for python
* [scikit-learn](http://scikit-learn.org/)  &mdash; general-purpose library for machine learning in python
* [numpy](http://www.numpy.org/)  &mdash; 'MATLAB in python', vector operation in python. 
    Use it you need to perform any number crunching. 
* [theano](http://deeplearning.net/software/theano/)  &mdash; optimized vector analytical math engine in python
* [ROOT](https://root.cern.ch/)  &mdash; main data format in high energy physics 
* [root_numpy](http://rootpy.github.io/root_numpy/)  &mdash; python library to deal with ROOT files (without pain)


### License
Apache 2.0, `hep_ml` is an open-source library.

### Platforms 
Linux, Mac OS X and Windows are supported.

**hep_ml** supports both python 2 and python 3.
