Meta heuristic optimization techniques for scikit-learn models
Project description
Hyperactive
A Python package for meta-heuristic hyperparameter optimization of scikit-learn models for supervised learning. Hyperactive automates the search for hyperparameters by utilizing metaheuristics to efficiently explore the search space and provide a sufficiently good solution. Its API is similar to scikit-learn and allows for parallel computation. Hyperactive offers a small collection of the following meta-heuristic optimization techniques:
- Random search
- Simulated annealing
- Particle swarm optimization
The multiprocessing will start n_jobs separate searches. These can operate independent of one another, which makes the workload perfectly parallel. In the current implementation the actual number of searches in each process is n_iter divided by n_jobs and rounded down to the next integer.
Installation
pip install hyperactive
Example
from sklearn.datasets import load_iris
from hyperactive import SimulatedAnnealing_Optimizer
iris_data = load_iris()
X_train = iris_data.data
y_train = iris_data.target
search_dict = {
'sklearn.ensemble.RandomForestClassifier': {
'n_estimators': [100],
'criterion': ["gini", "entropy"],
'min_samples_split': range(2, 21),
'min_samples_leaf': range(2, 21),
}
}
Optimizer = SimulatedAnnealing_Optimizer(search_dict, n_iter=1000, scoring='accuracy', n_jobs=2)
Optimizer.fit(X_train, y_train)
Hyperactive API
RandomSearch_Optimizer(search_dict, n_iter, scoring, n_jobs=1, cv=5)
Methods:
- fit(X_train, y_train)
- predict(X_test)
SimulatedAnnealing_Optimizer(search_dict, n_iter, scoring, eps=1, t_rate=0.9, n_jobs=1, cv=5)
Methods:
- fit(X_train, y_train)
- predict(X_test)
ParticleSwarm_Optimizer(search_dict, n_iter, scoring, n_part=1, w=0.5, c_k=0.8, c_s=0.9, n_jobs=1, cv=5)
Methods:
- fit(X_train, y_train)
- predict(X_test)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for hyperactive-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c3faf3e2571cb127cae50b1e7fd7c72792effd9648ae8166330b32dc9e34283 |
|
MD5 | cd9e266a445bee9f8f21005180423d26 |
|
BLAKE2b-256 | 343bd09b591586ce0caf541ca51073d9d489fba4613853cc29dfd78ce1c5251f |