/hep_ml

Machine learning algorithms for high energy physics.

Primary LanguagePythonOtherNOASSERTION

hep_ml

hep_ml provides specific machine learning tools for purposes of high energy physics (written in python).

travis status PyPI version

hep_ml, python library for high energy physics

Main points

  • uniform classifiers - the classifiers with low correlation of predictions and mass (or some other variable(s))
    • uBoost optimized implementation inside
    • UGradientBoosting (with different losses, specially FlatnessLoss is very interesting)
  • 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!)
  • sklearn-compatibility of estimators.

Installation

pip install hep_ml

To use latest version, clone it and install with pip:

git clone https://github.com/arogozhnikov/hep_ml.git
cd hep_ml
sudo pip install .

Links

Related projects

Libraries you'll require to make your life easier.

  • IPython Notebook — web-shell for python
  • scikit-learn — general-purpose library for machine learning in python
  • REP — python wrappers around different machine learning libraries (including TMVA) + goodies, required to plot learning curves and reports after classification. Required to execute howtos from this repository
  • 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)

License

Apache 2.0, library is open-source.