selanneal


Nameselanneal JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://github.com/feichtip/selanneal
Summarymultidimensional selection optimisation with simulated annealing
upload_time2024-12-02 13:24:19
maintainerNone
docs_urlNone
authorPaul Feichtinger
requires_python>=3.6
licenseMIT
keywords hep physics cut selection optimisation annealing
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img alt="selannel" width="350" src="https://github.com/feichtip/selanneal/blob/main/docs/_images/selanneal.png?raw=true"/>

Optimising selections with simulated annealing
==============================================

Selanneal is a simple package for optimising multivariate selections via a figure of merit.
The optimisation is performed for all given features simultaneously by utilising the simulated annealing method.
It relies on [numba](http://numba.pydata.org/) for just-in-time compilation of the algorithm.
The procedure works on binned data, so an n-dimensional histogram needs to be provided.

Currently, two modes of operation exist:
* **edges**: cut only the edges of each feature (results in "rectangular cuts")
* **bins**: select individual bins from a grid (for now limited to 2 feature dimensions)

This package was written for applications in high energy physics but can apply to general problems in statistical data analysis.

## usage

* install with
```console
python3 -m pip install selanneal
```
* tutorial notebooks for basic usage in *examples*
* training data is to be provided as numpy arrays representing the histogrammed number of signal and background events
* hyper-parameters to tune the optimisation: Tmin, Tmax, steps
* the default figure of merit is N_sig/sqrt(N_sig + N_bkg), but any objective function can be used
* additionally, a ROC curve can be obtained by maximising the purity for fixed signal efficiencies

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/feichtip/selanneal",
    "name": "selanneal",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "hep physics cut selection optimisation annealing",
    "author": "Paul Feichtinger",
    "author_email": "paul.feichtinger@oeaw.ac.at",
    "download_url": "https://files.pythonhosted.org/packages/95/d3/7f9edbacf0ecc63139176468a7b4d867d14bcde2f20b15feaa39eabaec9b/selanneal-0.0.4.tar.gz",
    "platform": null,
    "description": "<img alt=\"selannel\" width=\"350\" src=\"https://github.com/feichtip/selanneal/blob/main/docs/_images/selanneal.png?raw=true\"/>\n\nOptimising selections with simulated annealing\n==============================================\n\nSelanneal is a simple package for optimising multivariate selections via a figure of merit.\nThe optimisation is performed for all given features simultaneously by utilising the simulated annealing method.\nIt relies on [numba](http://numba.pydata.org/) for just-in-time compilation of the algorithm.\nThe procedure works on binned data, so an n-dimensional histogram needs to be provided.\n\nCurrently, two modes of operation exist:\n* **edges**: cut only the edges of each feature (results in \"rectangular cuts\")\n* **bins**: select individual bins from a grid (for now limited to 2 feature dimensions)\n\nThis package was written for applications in high energy physics but can apply to general problems in statistical data analysis.\n\n## usage\n\n* install with\n```console\npython3 -m pip install selanneal\n```\n* tutorial notebooks for basic usage in *examples*\n* training data is to be provided as numpy arrays representing the histogrammed number of signal and background events\n* hyper-parameters to tune the optimisation: Tmin, Tmax, steps\n* the default figure of merit is N_sig/sqrt(N_sig + N_bkg), but any objective function can be used\n* additionally, a ROC curve can be obtained by maximising the purity for fixed signal efficiencies\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "multidimensional selection optimisation with simulated annealing",
    "version": "0.0.4",
    "project_urls": {
        "Homepage": "https://github.com/feichtip/selanneal",
        "Source": "https://github.com/feichtip/selanneal",
        "Tracker": "https://github.com/feichtip/selanneal/issues"
    },
    "split_keywords": [
        "hep",
        "physics",
        "cut",
        "selection",
        "optimisation",
        "annealing"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "996ae04d94fad3fc563642384056799b1f127d09b93fb13cb62eb4905e13731d",
                "md5": "049ee713848138b507c9fa6a65959a41",
                "sha256": "8775c990a4397afe522cf785e3ed897561a30b21fb083b68b72359e7781a89a7"
            },
            "downloads": -1,
            "filename": "selanneal-0.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "049ee713848138b507c9fa6a65959a41",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 12618,
            "upload_time": "2024-12-02T13:24:17",
            "upload_time_iso_8601": "2024-12-02T13:24:17.594080Z",
            "url": "https://files.pythonhosted.org/packages/99/6a/e04d94fad3fc563642384056799b1f127d09b93fb13cb62eb4905e13731d/selanneal-0.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "95d37f9edbacf0ecc63139176468a7b4d867d14bcde2f20b15feaa39eabaec9b",
                "md5": "bab3b675df072b09f8e8d05254393e84",
                "sha256": "8911195522edc0b2e90920226360a74f2aacd3647a92d5f91be3415b56cc1f29"
            },
            "downloads": -1,
            "filename": "selanneal-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "bab3b675df072b09f8e8d05254393e84",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 108892,
            "upload_time": "2024-12-02T13:24:19",
            "upload_time_iso_8601": "2024-12-02T13:24:19.604753Z",
            "url": "https://files.pythonhosted.org/packages/95/d3/7f9edbacf0ecc63139176468a7b4d867d14bcde2f20b15feaa39eabaec9b/selanneal-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-02 13:24:19",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "feichtip",
    "github_project": "selanneal",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "selanneal"
}
        
Elapsed time: 0.93249s