minitrade-scikit-optimize


Nameminitrade-scikit-optimize JSON
Version 0.9.2 PyPI version JSON
download
home_pagehttps://scikit-optimize.github.io/
SummarySequential model-based optimization toolbox.
upload_time2023-08-15 02:52:09
maintainer
docs_urlNone
authorThe scikit-optimize contributors
requires_python
licenseBSD 3-clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
|Logo|

|pypi| |conda| |Travis Status| |CircleCI Status| |binder| |gitter| |Zenodo DOI|

Scikit-Optimize
===============

Scikit-Optimize, or ``skopt``, is a simple and efficient library to
minimize (very) expensive and noisy black-box functions. It implements
several methods for sequential model-based optimization. ``skopt`` aims
to be accessible and easy to use in many contexts.

The library is built on top of NumPy, SciPy and Scikit-Learn.

We do not perform gradient-based optimization. For gradient-based
optimization algorithms look at
``scipy.optimize``
`here <http://docs.scipy.org/doc/scipy/reference/optimize.html>`_.

.. figure:: https://github.com/scikit-optimize/scikit-optimize/blob/master/media/bo-objective.png
   :alt: Approximated objective

Approximated objective function after 50 iterations of ``gp_minimize``.
Plot made using ``skopt.plots.plot_objective``.

Important links
---------------

-  Static documentation - `Static
   documentation <https://scikit-optimize.github.io/>`__
-  Example notebooks - can be found in examples_.
-  Issue tracker -
   https://github.com/scikit-optimize/scikit-optimize/issues
-  Releases - https://pypi.python.org/pypi/scikit-optimize

Install
-------

scikit-optimize requires

* Python >= 3.6
* NumPy (>= 1.13.3)
* SciPy (>= 0.19.1)
* joblib (>= 0.11)
* scikit-learn >= 0.20
* matplotlib >= 2.0.0

You can install the latest release with:
::

    pip install scikit-optimize

This installs an essential version of scikit-optimize. To install scikit-optimize
with plotting functionality, you can instead do:
::

    pip install 'scikit-optimize[plots]'

This will install matplotlib along with scikit-optimize.

In addition there is a `conda-forge <https://conda-forge.org/>`_ package
of scikit-optimize:
::

    conda install -c conda-forge scikit-optimize

Using conda-forge is probably the easiest way to install scikit-optimize on
Windows.


Getting started
---------------

Find the minimum of the noisy function ``f(x)`` over the range
``-2 < x < 2`` with ``skopt``:

.. code:: python

    import numpy as np
    from skopt import gp_minimize

    def f(x):
        return (np.sin(5 * x[0]) * (1 - np.tanh(x[0] ** 2)) +
                np.random.randn() * 0.1)

    res = gp_minimize(f, [(-2.0, 2.0)])


For more control over the optimization loop you can use the ``skopt.Optimizer``
class:

.. code:: python

    from skopt import Optimizer

    opt = Optimizer([(-2.0, 2.0)])

    for i in range(20):
        suggested = opt.ask()
        y = f(suggested)
        opt.tell(suggested, y)
        print('iteration:', i, suggested, y)


Read our `introduction to bayesian
optimization <https://scikit-optimize.github.io/stable/auto_examples/bayesian-optimization.html>`__
and the other examples_.


Development
-----------

The library is still experimental and under heavy development. Checkout
the `next
milestone <https://github.com/scikit-optimize/scikit-optimize/milestones>`__
for the plans for the next release or look at some `easy
issues <https://github.com/scikit-optimize/scikit-optimize/issues?q=is%3Aissue+is%3Aopen+label%3AEasy>`__
to get started contributing.

The development version can be installed through:

::

    git clone https://github.com/scikit-optimize/scikit-optimize.git
    cd scikit-optimize
    pip install -e.

Run all tests by executing ``pytest`` in the top level directory.

To only run the subset of tests with short run time, you can use ``pytest -m 'fast_test'`` (``pytest -m 'slow_test'`` is also possible). To exclude all slow running tests try ``pytest -m 'not slow_test'``.

This is implemented using pytest `attributes <https://docs.pytest.org/en/latest/mark.html>`__. If a tests runs longer than 1 second, it is marked as slow, else as fast.

All contributors are welcome!


Making a Release
~~~~~~~~~~~~~~~~

The release procedure is almost completely automated. By tagging a new release
travis will build all required packages and push them to PyPI. To make a release
create a new issue and work through the following checklist:

* update the version tag in ``__init__.py``
* update the version tag mentioned in the README
* check if the dependencies in ``setup.py`` are valid or need unpinning
* check that the ``doc/whats_new/v0.X.rst`` is up to date
* did the last build of master succeed?
* create a `new release <https://github.com/scikit-optimize/scikit-optimize/releases>`__
* ping `conda-forge <https://github.com/conda-forge/scikit-optimize-feedstock>`__

Before making a release we usually create a release candidate. If the next
release is v0.X then the release candidate should be tagged v0.Xrc1 in
``__init__.py``. Mark a release candidate as a "pre-release"
on GitHub when you tag it.


Commercial support
------------------

Feel free to `get in touch <mailto:tim@wildtreetech.com>`_ if you need commercial
support or would like to sponsor development. Resources go towards paying
for additional work by seasoned engineers and researchers.


Made possible by
----------------

The scikit-optimize project was made possible with the support of

.. image:: https://avatars1.githubusercontent.com/u/18165687?v=4&s=128
   :alt: Wild Tree Tech
   :target: http://wildtreetech.com

.. image:: https://i.imgur.com/lgxboT5.jpg
    :alt: NYU Center for Data Science
    :target: https://cds.nyu.edu/

.. image:: https://i.imgur.com/V1VSIvj.jpg
    :alt: NSF
    :target: https://www.nsf.gov

.. image:: https://i.imgur.com/3enQ6S8.jpg
    :alt: Northrop Grumman
    :target: http://www.northropgrumman.com/Pages/default.aspx

If your employer allows you to work on scikit-optimize during the day and would like
recognition, feel free to add them to the "Made possible by" list.


.. |pypi| image:: https://img.shields.io/pypi/v/scikit-optimize.svg
   :target: https://pypi.python.org/pypi/scikit-optimize
.. |conda| image:: https://anaconda.org/conda-forge/scikit-optimize/badges/version.svg
   :target: https://anaconda.org/conda-forge/scikit-optimize
.. |Travis Status| image:: https://travis-ci.org/scikit-optimize/scikit-optimize.svg?branch=master
   :target: https://travis-ci.org/scikit-optimize/scikit-optimize
.. |CircleCI Status| image:: https://circleci.com/gh/scikit-optimize/scikit-optimize/tree/master.svg?style=shield&circle-token=:circle-token
   :target: https://circleci.com/gh/scikit-optimize/scikit-optimize
.. |Logo| image:: https://avatars2.githubusercontent.com/u/18578550?v=4&s=80
.. |binder| image:: https://mybinder.org/badge.svg
   :target: https://mybinder.org/v2/gh/scikit-optimize/scikit-optimize/master?filepath=examples
.. |gitter| image:: https://badges.gitter.im/scikit-optimize/scikit-optimize.svg
   :target: https://gitter.im/scikit-optimize/Lobby
.. |Zenodo DOI| image:: https://zenodo.org/badge/54340642.svg
   :target: https://zenodo.org/badge/latestdoi/54340642
.. _examples: https://scikit-optimize.github.io/stable/auto_examples/index.html

            

Raw data

            {
    "_id": null,
    "home_page": "https://scikit-optimize.github.io/",
    "name": "minitrade-scikit-optimize",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "The scikit-optimize contributors",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/1e/4a/ad0e048e3b109cef4b06813c48f153a33f67f96c9f182d27e58b99132b8d/minitrade-scikit-optimize-0.9.2.tar.gz",
    "platform": null,
    "description": "\n|Logo|\n\n|pypi| |conda| |Travis Status| |CircleCI Status| |binder| |gitter| |Zenodo DOI|\n\nScikit-Optimize\n===============\n\nScikit-Optimize, or ``skopt``, is a simple and efficient library to\nminimize (very) expensive and noisy black-box functions. It implements\nseveral methods for sequential model-based optimization. ``skopt`` aims\nto be accessible and easy to use in many contexts.\n\nThe library is built on top of NumPy, SciPy and Scikit-Learn.\n\nWe do not perform gradient-based optimization. For gradient-based\noptimization algorithms look at\n``scipy.optimize``\n`here <http://docs.scipy.org/doc/scipy/reference/optimize.html>`_.\n\n.. figure:: https://github.com/scikit-optimize/scikit-optimize/blob/master/media/bo-objective.png\n   :alt: Approximated objective\n\nApproximated objective function after 50 iterations of ``gp_minimize``.\nPlot made using ``skopt.plots.plot_objective``.\n\nImportant links\n---------------\n\n-  Static documentation - `Static\n   documentation <https://scikit-optimize.github.io/>`__\n-  Example notebooks - can be found in examples_.\n-  Issue tracker -\n   https://github.com/scikit-optimize/scikit-optimize/issues\n-  Releases - https://pypi.python.org/pypi/scikit-optimize\n\nInstall\n-------\n\nscikit-optimize requires\n\n* Python >= 3.6\n* NumPy (>= 1.13.3)\n* SciPy (>= 0.19.1)\n* joblib (>= 0.11)\n* scikit-learn >= 0.20\n* matplotlib >= 2.0.0\n\nYou can install the latest release with:\n::\n\n    pip install scikit-optimize\n\nThis installs an essential version of scikit-optimize. To install scikit-optimize\nwith plotting functionality, you can instead do:\n::\n\n    pip install 'scikit-optimize[plots]'\n\nThis will install matplotlib along with scikit-optimize.\n\nIn addition there is a `conda-forge <https://conda-forge.org/>`_ package\nof scikit-optimize:\n::\n\n    conda install -c conda-forge scikit-optimize\n\nUsing conda-forge is probably the easiest way to install scikit-optimize on\nWindows.\n\n\nGetting started\n---------------\n\nFind the minimum of the noisy function ``f(x)`` over the range\n``-2 < x < 2`` with ``skopt``:\n\n.. code:: python\n\n    import numpy as np\n    from skopt import gp_minimize\n\n    def f(x):\n        return (np.sin(5 * x[0]) * (1 - np.tanh(x[0] ** 2)) +\n                np.random.randn() * 0.1)\n\n    res = gp_minimize(f, [(-2.0, 2.0)])\n\n\nFor more control over the optimization loop you can use the ``skopt.Optimizer``\nclass:\n\n.. code:: python\n\n    from skopt import Optimizer\n\n    opt = Optimizer([(-2.0, 2.0)])\n\n    for i in range(20):\n        suggested = opt.ask()\n        y = f(suggested)\n        opt.tell(suggested, y)\n        print('iteration:', i, suggested, y)\n\n\nRead our `introduction to bayesian\noptimization <https://scikit-optimize.github.io/stable/auto_examples/bayesian-optimization.html>`__\nand the other examples_.\n\n\nDevelopment\n-----------\n\nThe library is still experimental and under heavy development. Checkout\nthe `next\nmilestone <https://github.com/scikit-optimize/scikit-optimize/milestones>`__\nfor the plans for the next release or look at some `easy\nissues <https://github.com/scikit-optimize/scikit-optimize/issues?q=is%3Aissue+is%3Aopen+label%3AEasy>`__\nto get started contributing.\n\nThe development version can be installed through:\n\n::\n\n    git clone https://github.com/scikit-optimize/scikit-optimize.git\n    cd scikit-optimize\n    pip install -e.\n\nRun all tests by executing ``pytest`` in the top level directory.\n\nTo only run the subset of tests with short run time, you can use ``pytest -m 'fast_test'`` (``pytest -m 'slow_test'`` is also possible). To exclude all slow running tests try ``pytest -m 'not slow_test'``.\n\nThis is implemented using pytest `attributes <https://docs.pytest.org/en/latest/mark.html>`__. If a tests runs longer than 1 second, it is marked as slow, else as fast.\n\nAll contributors are welcome!\n\n\nMaking a Release\n~~~~~~~~~~~~~~~~\n\nThe release procedure is almost completely automated. By tagging a new release\ntravis will build all required packages and push them to PyPI. To make a release\ncreate a new issue and work through the following checklist:\n\n* update the version tag in ``__init__.py``\n* update the version tag mentioned in the README\n* check if the dependencies in ``setup.py`` are valid or need unpinning\n* check that the ``doc/whats_new/v0.X.rst`` is up to date\n* did the last build of master succeed?\n* create a `new release <https://github.com/scikit-optimize/scikit-optimize/releases>`__\n* ping `conda-forge <https://github.com/conda-forge/scikit-optimize-feedstock>`__\n\nBefore making a release we usually create a release candidate. If the next\nrelease is v0.X then the release candidate should be tagged v0.Xrc1 in\n``__init__.py``. Mark a release candidate as a \"pre-release\"\non GitHub when you tag it.\n\n\nCommercial support\n------------------\n\nFeel free to `get in touch <mailto:tim@wildtreetech.com>`_ if you need commercial\nsupport or would like to sponsor development. Resources go towards paying\nfor additional work by seasoned engineers and researchers.\n\n\nMade possible by\n----------------\n\nThe scikit-optimize project was made possible with the support of\n\n.. image:: https://avatars1.githubusercontent.com/u/18165687?v=4&s=128\n   :alt: Wild Tree Tech\n   :target: http://wildtreetech.com\n\n.. image:: https://i.imgur.com/lgxboT5.jpg\n    :alt: NYU Center for Data Science\n    :target: https://cds.nyu.edu/\n\n.. image:: https://i.imgur.com/V1VSIvj.jpg\n    :alt: NSF\n    :target: https://www.nsf.gov\n\n.. image:: https://i.imgur.com/3enQ6S8.jpg\n    :alt: Northrop Grumman\n    :target: http://www.northropgrumman.com/Pages/default.aspx\n\nIf your employer allows you to work on scikit-optimize during the day and would like\nrecognition, feel free to add them to the \"Made possible by\" list.\n\n\n.. |pypi| image:: https://img.shields.io/pypi/v/scikit-optimize.svg\n   :target: https://pypi.python.org/pypi/scikit-optimize\n.. |conda| image:: https://anaconda.org/conda-forge/scikit-optimize/badges/version.svg\n   :target: https://anaconda.org/conda-forge/scikit-optimize\n.. |Travis Status| image:: https://travis-ci.org/scikit-optimize/scikit-optimize.svg?branch=master\n   :target: https://travis-ci.org/scikit-optimize/scikit-optimize\n.. |CircleCI Status| image:: https://circleci.com/gh/scikit-optimize/scikit-optimize/tree/master.svg?style=shield&circle-token=:circle-token\n   :target: https://circleci.com/gh/scikit-optimize/scikit-optimize\n.. |Logo| image:: https://avatars2.githubusercontent.com/u/18578550?v=4&s=80\n.. |binder| image:: https://mybinder.org/badge.svg\n   :target: https://mybinder.org/v2/gh/scikit-optimize/scikit-optimize/master?filepath=examples\n.. |gitter| image:: https://badges.gitter.im/scikit-optimize/scikit-optimize.svg\n   :target: https://gitter.im/scikit-optimize/Lobby\n.. |Zenodo DOI| image:: https://zenodo.org/badge/54340642.svg\n   :target: https://zenodo.org/badge/latestdoi/54340642\n.. _examples: https://scikit-optimize.github.io/stable/auto_examples/index.html\n",
    "bugtrack_url": null,
    "license": "BSD 3-clause",
    "summary": "Sequential model-based optimization toolbox.",
    "version": "0.9.2",
    "project_urls": {
        "Homepage": "https://scikit-optimize.github.io/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35eaa49603ce7c9e9dac70a6ed069d8197d1e0ae820dfc660c13dc698e9b6c67",
                "md5": "069bec1c65b60d4a48b3254252a4ff42",
                "sha256": "001ffcba721e04ab625fd44971d7feb7c8e831a356d650009f245bdf3017754d"
            },
            "downloads": -1,
            "filename": "minitrade_scikit_optimize-0.9.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "069bec1c65b60d4a48b3254252a4ff42",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 100390,
            "upload_time": "2023-08-15T02:52:07",
            "upload_time_iso_8601": "2023-08-15T02:52:07.144612Z",
            "url": "https://files.pythonhosted.org/packages/35/ea/a49603ce7c9e9dac70a6ed069d8197d1e0ae820dfc660c13dc698e9b6c67/minitrade_scikit_optimize-0.9.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e4aad0e048e3b109cef4b06813c48f153a33f67f96c9f182d27e58b99132b8d",
                "md5": "deda6f9ab629396173152e00143a3b79",
                "sha256": "10537110d4a9183c6b04d52d8e64e6370eb37356543cf1b2ad5793cc5a642408"
            },
            "downloads": -1,
            "filename": "minitrade-scikit-optimize-0.9.2.tar.gz",
            "has_sig": false,
            "md5_digest": "deda6f9ab629396173152e00143a3b79",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 281190,
            "upload_time": "2023-08-15T02:52:09",
            "upload_time_iso_8601": "2023-08-15T02:52:09.568300Z",
            "url": "https://files.pythonhosted.org/packages/1e/4a/ad0e048e3b109cef4b06813c48f153a33f67f96c9f182d27e58b99132b8d/minitrade-scikit-optimize-0.9.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-15 02:52:09",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "minitrade-scikit-optimize"
}
        
Elapsed time: 0.12562s