hep_ml provides specific machine learning tools for purposes of high energy physics.
- 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.nnet - theano-based flexible neural networks
hep_ml.reweight - reweighting multidimensional distributions
(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.
pip install hep_ml
If you're new to python and never used
pip, first install scikit-learn with these instructions.
To use latest development version, clone it and install with
git clone https://github.com/arogozhnikov/hep_ml.git
pip install .
Libraries you'll require to make your life easier and HEPpier.
IPython Notebook — web-shell for python
scikit-learn — general-purpose library for machine learning in python
numpy — 'MATLAB in python', vector operation in python.
Use it you need to perform any number crunching.
theano — optimized vector analytical math engine in python
ROOT — main data format in high energy physics
root_numpy — python library to deal with ROOT files (without pain)
hep_ml is an open-source library.
Linux, Mac OS X and Windows are supported.
hep_ml supports both python 2 and python 3.