Skip to main content

Random Search

Overview

Random Search samples hyperparameter configurations uniformly (or from user-specified distributions). It is simple, parallelizable and often a strong baseline — particularly when only a few hyperparameters dominate performance.

Quick facts

  • Type: Stochastic sampling baseline
  • Typical use: baseline comparisons, high-dimensional continuous spaces where grid is infeasible
  • Complexity: O(N) evaluations where N is the number of sampled configurations

Core ideas

  • Sample configurations from distributions (uniform, log-uniform, categorical).
  • Evaluate each configuration independently (embarrassingly parallel).
  • Keep the best configuration according to the chosen metric.

Usage example (OptiFlowX)

from optiflowx.optimizers import RandomSearchOptimizer
from optiflowx.models.configs import RandomForestConfig
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
cfg = RandomForestConfig()
opt = RandomSearchOptimizer(search_space=cfg.build_search_space(), metric='accuracy', model_class=cfg.get_wrapper().model_class, X=X, y=y)
best, score = opt.run(max_iters=50)
print('best score', score)