Skip to content

Инструмент для оптимизации гиперпараметров с использованием байесовской оптимизации и эволюционных алгоритмов

License

Notifications You must be signed in to change notification settings

itbert/hyperboost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hyperboost

Подходит как для исследовательских задач, так и для практического использования в реальных проектах.

✅ Поддерживаемые методы

Метод Описание
BayesianOptimizer Байесовская оптимизация с использованием Gaussian Process
EvolutionaryOptimizer Простой генетический алгоритм (GA)

📦 Установка

pip install hyperboost

🧪 Пример использования

from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from hyperboost.space import SearchSpace
from hyperboost.space import Real, Integer, Categorical
from hyperboost.optimizers import BayesianOptimizer
from hyperboost.optimizers import EvolutionaryOptimizer

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

space = SearchSpace({
    "n_estimators": Integer(50, 300),
    "max_depth": Integer(3, 20),
    "criterion": Categorical(["gini", "entropy"]),
})

def objective(params):
    model = RandomForestClassifier(**params, random_state=42)
    model.fit(X_train, y_train)
    score = model.score(X_test, y_test)
    return -score  # минимизируем ошибку

# Байесовская оптимизация
bo = BayesianOptimizer(space, objective)
best_bo = bo.optimize(n_iter=30)
print("Bayesian best:", best_bo)

# Эволюционный алгоритм
ea = EvolutionaryOptimizer(space, objective)
best_ea = ea.optimize(population_size=20, generations=10)
print("Evolutionary best:", best_ea)

About

Инструмент для оптимизации гиперпараметров с использованием байесовской оптимизации и эволюционных алгоритмов

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages