# scikit-optimize/scikit-optimize

Sequential model-based optimization with a  `scipy.optimize` interface

Repository: https://github.com/scikit-optimize/scikit-optimize
Canonical: https://ross.abutalabs.com/products/scikit-optimize
Homepage: https://scikit-optimize.github.io
Language: Python
License: BSD-3-Clause
License Family: permissive
Topics: bayesopt, optimization, scientific-computing, machine-learning, hyperparameter, bayesian-optimization, binder, scikit-learn, hyperparameter-optimization, hyperparameter-tuning, hyperparameter-search, sequential-recommendation, hacktoberfest, scientific-visualization, visualization
Archived: true
Last push: 2024-02-23T07:05:22+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 3818, "days_push": 922, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2828, forks 559 (observed 2026-08-28T04:07:24.241704+00:00)

## What it is
Scikit-Optimize (skopt) is a Python library for sequential model-based optimization of expensive and noisy black-box functions, built on NumPy, SciPy, and scikit-learn. It offers a scipy.optimize-like interface with methods such as gp_minimize and an ask/tell Optimizer class, plus plotting tools for visualizing objectives.

## Use cases
- tune hyperparameters of a machine learning model
- minimize an expensive noisy black-box function
- run bayesian optimization with gaussian processes
- find optimal parameters for a simulation
- optimize a function where gradients are unavailable
- run an ask/tell optimization loop across processes

## When to choose
- you need gradient-free optimization of costly or noisy objective functions
- you want a scikit-learn/scipy-friendly API for hyperparameter search
- you want built-in visualization of the optimized objective

## When to avoid
- you need gradient-based optimization (use scipy.optimize instead)
- you need large-scale or highly parallel hyperparameter search at scale
- you need a project under heavy active development

## Facets
- artifact type: library
- maturity: maintenance
- function: machine-learning, math, data-science
- domain: machine-learning, data-science
- platform: python, cross-platform
- tags: bayesian-optimization, hyperparameter-tuning, black-box-optimization, scikit-learn, scipy, sequential-model-based-optimization, algorithms

## Member repositories
- scikit-optimize/scikit-optimize (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:24.241704+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:38:12.359260+00:00, confidence not recorded.
  - readme: https://github.com/scikit-optimize/scikit-optimize (fetched 2026-08-28T04:07:24.241704+00:00, sha bfa0e285b695)
  - homepage: https://scikit-optimize.github.io (fetched 2026-08-29T09:53:29.683165+00:00, sha e8910c0701e3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
