Metadata-Version: 2.1
Name: hyperactive-progress-board
Version: 0.0.3
Summary: Add on for Hyperactive package to visualize progress of optimization run.
Home-page: https://github.com/SimonBlanke/tabular-data-explorer
Author: Simon Blanke
Author-email: simon.blanke@yahoo.com
License: MIT
Keywords: visualization,data-science
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: streamlit
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: tqdm
Requires-Dist: plotly
Requires-Dist: matplotlib
Requires-Dist: hyperactive-data-storage

<H1 align="center">
    Progress Board
</H1>

<br>

<H2 align="center">
    An addon for the Hyperactive package to visualize the progress of optimization runs.
</H2>

<br>

The Progress Board is a dashboard (opens in webbrowser) that provides visualization of live-updated data from Hyperactive. It integrates seamlessly with Hyperactive (v4) and opens up the optimization run with useful information. It also supports multiprocessing and multiple searches at the same time without any added complexity or work for the user. 

The Progress Board should be used for computationally expensive objective functions (like machine-/deep-learning models). 

The Progress Board is tested in Ubuntu, but Windows support maybe added in the future.


## Installation

```console
pip install hyperactive-progress-board
```


## Example

```python
from sklearn.model_selection import cross_val_score
from sklearn.tree import DecisionTreeRegressor
from sklearn.datasets import fetch_california_housing

from hyperactive import Hyperactive
from hyperactive_progress_board import ProgressBoard # import progress board

data = fetch_california_housing()
X, y = data.data, data.target

progress = ProgressBoard() # init progress board


@progress.update # add decorator
def dtr_model(opt):
    dtr = DecisionTreeRegressor(
        min_samples_split=opt["min_samples_split"],
    )
    scores = cross_val_score(dtr, X, y, cv=5)
    return scores.mean()


search_space = {
    "max_depth": list(range(2, 50)),
    "min_samples_split": list(range(2, 50)),
    "min_samples_leaf": list(range(1, 50)),
}

progress.open() # open progress board before run begins

hyper = Hyperactive()
hyper.add_search(dtr_model, search_space, n_iter=1000)
hyper.run()
```

