All Projects → pablormier → Yabox

pablormier / Yabox

Licence: apache-2.0
Yet another black-box optimization library for Python

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Yabox

Functional intro to python
[tutorial]A functional, Data Science focused introduction to Python
Stars: ✭ 228 (+121.36%)
Mutual labels:  jupyter-notebook, data-science, optimization
Jupyter
Stars: ✭ 145 (+40.78%)
Mutual labels:  algorithms, jupyter-notebook, data-science
Fantasy Basketball
Scraping statistics, predicting NBA player performance with neural networks and boosting algorithms, and optimising lineups for Draft Kings with genetic algorithm. Capstone Project for Machine Learning Engineer Nanodegree by Udacity.
Stars: ✭ 146 (+41.75%)
Mutual labels:  jupyter-notebook, data-science, optimization
The Python Workshop
A New, Interactive Approach to Learning Python
Stars: ✭ 150 (+45.63%)
Mutual labels:  algorithms, jupyter-notebook, data-science
Eaopt
🍀 Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)
Stars: ✭ 718 (+597.09%)
Mutual labels:  parallel, evolutionary-algorithms, optimization
Ensae teaching cs
Teaching materials in python at the @ENSAE
Stars: ✭ 69 (-33.01%)
Mutual labels:  algorithms, jupyter-notebook, data-science
Ray
An open source framework that provides a simple, universal API for building distributed applications. Ray is packaged with RLlib, a scalable reinforcement learning library, and Tune, a scalable hyperparameter tuning library.
Stars: ✭ 18,547 (+17906.8%)
Mutual labels:  parallel, data-science, optimization
Deep Learning Machine Learning Stock
Stock for Deep Learning and Machine Learning
Stars: ✭ 240 (+133.01%)
Mutual labels:  algorithms, jupyter-notebook, data-science
Experiments with python
experiments with python
Stars: ✭ 342 (+232.04%)
Mutual labels:  jupyter-notebook, data-science, optimization
Numerical Linear Algebra
Free online textbook of Jupyter notebooks for fast.ai Computational Linear Algebra course
Stars: ✭ 8,263 (+7922.33%)
Mutual labels:  algorithms, jupyter-notebook, data-science
Hyperlearn
50% faster, 50% less RAM Machine Learning. Numba rewritten Sklearn. SVD, NNMF, PCA, LinearReg, RidgeReg, Randomized, Truncated SVD/PCA, CSR Matrices all 50+% faster
Stars: ✭ 1,204 (+1068.93%)
Mutual labels:  jupyter-notebook, data-science, optimization
Repo2docker Action
GitHub Action for repo2docker
Stars: ✭ 88 (-14.56%)
Mutual labels:  jupyter-notebook, data-science
Quantum Learning
This repository contains the source code used to produce the results presented in the paper "Machine learning method for state preparation and gate synthesis on photonic quantum computers".
Stars: ✭ 89 (-13.59%)
Mutual labels:  jupyter-notebook, optimization
Pymc Example Project
Example PyMC3 project for performing Bayesian data analysis using a probabilistic programming approach to machine learning.
Stars: ✭ 90 (-12.62%)
Mutual labels:  jupyter-notebook, data-science
Sci Pype
A Machine Learning API with native redis caching and export + import using S3. Analyze entire datasets using an API for building, training, testing, analyzing, extracting, importing, and archiving. This repository can run from a docker container or from the repository.
Stars: ✭ 90 (-12.62%)
Mutual labels:  jupyter-notebook, data-science
Deep Learning Boot Camp
A community run, 5-day PyTorch Deep Learning Bootcamp
Stars: ✭ 1,270 (+1133.01%)
Mutual labels:  jupyter-notebook, data-science
Starcraft2 Replay Analysis
A jupyter notebook that provides analysis for StarCraft 2 replays
Stars: ✭ 90 (-12.62%)
Mutual labels:  jupyter-notebook, data-science
H2o Tutorials
Tutorials and training material for the H2O Machine Learning Platform
Stars: ✭ 1,305 (+1166.99%)
Mutual labels:  jupyter-notebook, data-science
Ds With Pysimplegui
Data science and Machine Learning GUI programs/ desktop apps with PySimpleGUI package
Stars: ✭ 93 (-9.71%)
Mutual labels:  jupyter-notebook, data-science
Bayesian Cognitive Modeling In Pymc3
PyMC3 codes of Lee and Wagenmakers' Bayesian Cognitive Modeling - A Pratical Course
Stars: ✭ 93 (-9.71%)
Mutual labels:  jupyter-notebook, data-science

DOI

Yet another black-box optimization library for Python

Description

Yabox is a very small library for black-box (derivative free) optimization of functions that only depends on numpy and matplotlib for visualization. The library includes different stochastic algorithms for minimizing a function f(X) that does not need to have an analytical form, where X = {x1, ..., xN}. The current version of the library includes the Differential Evolution algorithm and a modified version for parallel evaluation.

Example of minimization of the Ackley function (using Yabox and Differential Evolution):

Ackley Function

Installation

Yabox is in PyPI so you can use the following command to install the latest released version:

pip install yabox

Basic usage

Pre-defined functions

Yabox includes some default benchmark functions used in black-box optimization, available in the package yabox.problems. These functions also include 2D and 3D plotting capabilities:

>>> from yabox.problems import Levy
>>> problem = Levy()
>>> problem.plot3d()

Levy Function

A problem is just a function that can be evaluated for a given X:

>>> problem(np.array([1,1,1]))
0.80668910823394901

Optimization

Simple example minimizing a function of one variable x using Differential Evolution, searching between -10 <= x <= 10:

>>> from yabox import DE
>>> DE(lambda x: sum(x**2), [(-10, 10)]).solve()
(array([ 0.]), 0.0)

Example using Differential Evolution and showing progress (requires tqdm)

Optimization example

Yabox includes a parallel version of Differential Evolution. Import PDE instead of DE:

>>> from yabox import PDE
>>> PDE(lambda x: sum(x**2), [(-10, 10)]).solve()
(array([ 0.]), 0.0)

For more examples, check the notebooks included in the project

About

This library is inspired in the scipy's differential evolution implementation. The main goal of Yabox is to include a larger set of stochastic black-box optimization algorithms plus many utilities, all in a small library with minimal dependencies.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].