30 open-source projects similar to fmfn/bayesianoptimization, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best BayesianOptimization alternative.
This is a Bayesian optimization library for Python designed to find the maximum value of expensive black box functions. It operates as a global optimizer that uses probabilistic models to identify the peak value of unknown functions through iterative sampling. The tool is specifically designed for hyperparameter tuning in machine learning, where it maximizes model performance while minimizing the number of required training runs. It treats the target function as a black box, selecting optimal input parameters based on statistical priors to reduce manual trial and error. The system utilizes G
scikit-opt is a Python optimization library and numerical framework designed to solve complex global optimization problems. It provides a suite of metaheuristic algorithms and tools for finding global minima or maxima of objective functions. The library implements a variety of nature-inspired and swarm intelligence algorithms, including Genetic Algorithms, Particle Swarm Optimization, Differential Evolution, Simulated Annealing, and Ant Colony Optimization. It includes specialized solvers for discrete combinatorial challenges, such as the Traveling Salesman Problem. The framework supports th
Optuna is a Python-based hyperparameter optimization framework designed to automate the search for optimal machine learning model configurations. It functions as a Bayesian optimization library that systematically tests parameter combinations to maximize or minimize objective functions, streamlining the model development process through iterative evaluation. The project distinguishes itself through a define-by-run dynamic construction model, which allows users to build complex, conditional search spaces using standard programming logic. Its architecture is highly modular, featuring a pluggabl
Optim.jl is a numerical optimization library for the Julia programming language, providing a comprehensive framework for minimizing or maximizing univariate and multivariate functions. It offers a suite of tools for solving both constrained and unconstrained mathematical problems, utilizing a variety of gradient-based, derivative-free, and stochastic search methods. The library distinguishes itself through a modular architecture that leverages language-level multiple dispatch to automatically select efficient solvers based on input data types and objective function properties. It supports com
Sequential model-based optimization with a scipy.optimize interface
Hyper-parameter optimization for sklearn
Hyperopt is a Python library for hyperparameter optimization designed to minimize scalar-valued objective functions. It operates as a stochastic search space engine that finds optimal input parameters by searching through real-valued, discrete, and conditional spaces. The framework distinguishes itself through its support for complex search space configurations, allowing for conditional parameter hierarchies where specific hyperparameters are sampled only if their parent parameters meet certain criteria. It is built as an asynchronous optimization framework, decoupling the generation of searc
This project is an educational collection of computational notebooks and tutorials focused on Bayesian machine learning and probabilistic programming. It provides a framework for building predictive models that represent uncertainty by defining probability distributions over parameters rather than relying on single point estimates. The repository serves as a library of statistical methods for estimating parameter distributions, performing regression, and quantifying confidence levels in predictive systems. It covers a range of techniques including Gaussian process regression, Markov chain Mon
Nevergrad is a gradient-free optimization library and hyperparameter optimization framework designed to find the minimum of objective functions without using derivatives. It serves as an asynchronous optimization engine that decouples parameter suggestions from result reporting to support parallel function evaluations. The project specializes in multi-objective optimization to identify Pareto fronts for competing goals and provides a suite for benchmarking the performance and convergence of different optimization routines. It supports black-box system optimization, enabling the tuning of exte
This project is a support vector machine library implemented in C, providing an engine for classification and regression tasks. It functions as a machine learning kernel library and a statistical model validator used to categorize data points and predict continuous numerical values. The library allows for the definition of custom kernel functions to calculate similarity between data points in specialized datasets. It also includes tools for probabilistic modeling, such as estimating class membership, data density, and distribution boundaries. Broad capabilities cover model training for multi
This repository serves as a comprehensive research platform and toolkit for advancing machine learning, quantum computing, and large-scale scientific data analysis. It provides foundational frameworks for developing complex algorithmic systems, offering the necessary infrastructure for distributed training, computational graph execution, and high-performance model development. The project distinguishes itself by integrating specialized research domains with robust, privacy-preserving methodologies. It supports diverse scientific discovery through tools for quantum simulation, physics-informed
Autograd is an automatic differentiation library and numerical gradient engine for Python. Its primary purpose is to compute the gradients of mathematical functions to enable numerical optimization and the training of mathematical models. The library automates the calculation of derivatives to simplify the implementation of optimization algorithms. This supports activities such as machine learning research, gradient-based learning, and the optimization of numerical models.
NNI is an AutoML toolkit designed to automate machine learning lifecycles. It functions as a hyperparameter optimization framework, a neural architecture search tool, and a model compression suite. The project provides a distributed training orchestrator to manage machine learning workloads across local machines, remote servers, and cloud platforms. It enables the discovery of efficient model structures through reinforcement learning and one-shot optimization methods, while utilizing Bayesian and evolutionary algorithms to automate hyperparameter tuning. Additional capabilities include tools
PyCaret is a Python AutoML platform and MLOps lifecycle manager designed to automate machine learning workflows. It functions as a low-code environment that leverages a scikit-learn native engine to execute preprocessing, training, and evaluation for tabular data. The platform distinguishes itself as an LLM-powered ML copilot, using large language model agents to analyze datasets, design experiment configurations, and explain model results. It also serves as a Kubernetes ML orchestrator and model registry, enabling the versioning of trained pipelines and their promotion to production API endp
This is a Python automated machine learning framework designed to automate the design and optimization of machine learning pipelines. It functions as a genetic programming pipeline optimizer and an automated feature selection tool, using evolutionary search to discover the most effective sequences of data processing and model steps. The project focuses on multi-objective optimization to balance competing performance metrics simultaneously. It employs a genetic selection process to identify impactful variables and remove noise from raw datasets, ensuring the resulting machine learning solution
Ludwig is a declarative machine learning framework designed for training neural networks and large language models using configuration files instead of manual coding. It functions as a multimodal model builder and a low-code tool for supervised fine-tuning, allowing users to build models that process mixed inputs of text, images, audio, and tabular data. The project distinguishes itself through an automated hyperparameter optimizer and a system for large language model fine-tuning using parameter-efficient adapters. It features a multimodal data pipeline and the ability to automatically gener
Use evolutionary algorithms instead of gridsearch in scikit-learn
optimization routines for hyperparameter tuning
Hyperparameter Experiments with TensorFlow and Keras
SMAC3: A Versatile Bayesian Optimization Package for Hyperparameter Optimization
An open source python library for scalable Bayesian optimisation.
A Hyperparameter Tuning Library for Keras
Determined is an open-source machine learning platform that simplifies distributed training, hyperparameter tuning, experiment tracking, and resource management. Works with PyTorch and TensorFlow.
Open-source implementation of Google Vizier for hyper parameters tuning
GPyTorch is a GPU-accelerated probabilistic framework and PyTorch library for implementing scalable Gaussian process models. It provides a system for Gaussian process modeling and uncertainty estimation, designed to perform efficient matrix operations on graphics hardware. The framework features a modular kernel system for constructing custom covariance functions and modeling complex data dependencies. It specifically integrates Gaussian processes with deep neural networks to create hybrid models for regression and classification. The system employs numerical linear algebra techniques, inclu
Penrose is a compiler that transforms structured mathematical notation into optimized SVG diagrams. It uses a three-stage pipeline of separate domain, substance, and style files to define mathematical objects, relationships, and visual presentation, then solves continuous optimization problems with user-defined spatial constraints and objectives to automatically arrange diagram elements. The system separates diagram content from visual style using distinct declarative languages, and provides a typed domain language with subtype hierarchies for mathematical objects. It supports embedding compi
Gonum is a numerical computing library for the Go programming language, providing a collection of packages for scientific computing, linear algebra, statistics, and optimization. It functions as a framework for performing complex numerical computations and solving systems of linear equations. The project includes a dedicated graph analysis framework for modeling network graphs and solving connectivity and pathfinding problems. It also provides a statistical analysis toolkit for computing descriptive and inferential statistics and estimating mixture entropy. The library's capability surface c