Genetic algorithm optimizer using K-Means clustering with one way ANOVA algorithms.
Project description
Genetic Optimizer
Genetic algorithm optimizer using K-Means clustering with one way ANOVA algorithms
Before:
After:
Installation:
Use the package manager pip to install genetic_optimizer.
pip3 install genetic-optimizer
Note:
Package require =>Python 3.6.5, using genetic_optimizer in Python 2.x.x projects may not work correctly. If you are not sure about your python version, try:
python3 --version
Usage
import genetic_optimizer
some_object = genetic_optimizer.Optimizer()
some_object.generate(population_size=46, chromosome_size=8, equal_chromosomes=True, initialization_method='Random', representation='Binary', saving_method='csv')
These are default options for generator, you can change them in DEFAULTS.ini file in package directory
some_object.optimize(data=None, iterations=12, shuffle_scale=0.6, variety=0.8, chromosome_weight=0.0000001)
These are default options for optimizer, you can change them in STANDARDS.conf file in package directory
Note
-
If optimizer got stuck at the beginning, that usually means that your dataframe with population is to small to find appropiate parents in order to create next generations.
-
For more description, please check out project wiki.
Pros
-
There is no mutation and crossover probability. Program matches parents according to group differences and create new child, built from the most successful pairs of genes from them. That means new generations are closer to each one and every child is not worse that genetic worse parent.
-
You can play off with options to achive more precised results.
Cons
- Fitness and parent selection process takes place recursively. If you are not using some RDD computing, program execution may be longer.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
Tools
- micro editor
- Unix console
Code is mostly written in accordance with Google PEP style guide
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for genetic_optimizer-0.1.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1eda204aa75460c987a11607781d970d674e0e7f5d15c6d5484eff0ac70fc079 |
|
MD5 | 5b9a7bdc6c26a5c7d8b660f8933b64a0 |
|
BLAKE2b-256 | 7835000f6f8d5125fd08761b4b24f13d62fa08e1f9f5d5edff4e4d89173519da |
Hashes for genetic_optimizer-0.1.8-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2eefd2efecf7febb57d7cbfe39662f9c92a5b984edeb6a09cad969d22bcf784 |
|
MD5 | 5ef3073ecf2798af19a8b86a8e8fde93 |
|
BLAKE2b-256 | f7ef79535d1d08aa9228a35cb590ee3bf5c9c83592689116eb1634f366aeff82 |