Search using nature inspired algorithms over specified parameter values for an sklearn estimator.
Project description
Nature Inspired Algorithms for scikit-learn
Nature inspired algorithms for hyper-parameter tuning of scikit-learn models. This package uses algorithms implementation from NiaPy.
Installation
pip install sklearn-nature-inspired-algorithms
Usage
The usage is similar to using sklearn's GridSearchCV
.
from sklearn_nature_inspired_algorithms.model_selection import NatureInspiredSearchCV
from sklearn.ensemble import RandomForestClassifier
param_grid = {
'n_estimators': range(20, 100, 20),
'max_depth': range(2, 20, 2),
'min_samples_split': range(2, 20, 2),
}
clf = RandomForestClassifier(random_state=42)
nia_search = NatureInspiredSearchCV(
clf,
param_grid,
algorithm='ba', # bat algorithm
population_size='15',
max_n_gen=30,
max_stagnating_gen=2,
)
nia_search.fit(X_train, y_train)
Jupyter notebooks with full examples are available in here.
Using custom nature inspired algorithm
If you do not want to use ony of the pre-defined algorithm configurations, you can use any algorithm from the NiaPy collection. This will allow you to have more control of the algorithm behaviour. Refer to their documentation and examples for the usage.
from NiaPy.algorithms.basic import GeneticAlgorithm
algorithm = GeneticAlgorithm()
algorithm.setParameters(NP=50, Ts=5, Mr=0.25)
nia_search = NatureInspiredSearchCV(
clf,
param_grid,
algorithm=algorithm,
population_size='15',
max_n_gen=30,
max_stagnating_gen=2,
)
nia_search.fit(X_train, y_train)
Contributing
Detailed information on the contribution guidelines are in the CONTRIBUTING.md.
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 Distribution
Built Distribution
Hashes for sklearn_nature_inspired_algorithms-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6de8d89ac9d3b4b0abdaca466f250a407995bf934d46ed44513b259097e78c4 |
|
MD5 | d9daafba2a6373f140efac28f209d9a8 |
|
BLAKE2b-256 | be85d6df2a99c427dcf17489ecb8681c365b3262bceb579fcac7edfc6bcdac4c |
Hashes for sklearn_nature_inspired_algorithms-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ba83dd473da1c2e00ea33d0424ee49a5b89be61a9403829ff859e519cfcd385 |
|
MD5 | 57373e11b6ab8fbd0f97ac33b8bda574 |
|
BLAKE2b-256 | 5dc4779e7f8248575fe6da61bae6f387dc87eba7284b811299eed0ba6a9bfebd |