Skip to content

jespb/C-StdGP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C-StdGP

This is a, easy-to-use, scikit-learn inspired version of the Standard Genetic Programming (StdGP) algorithm.

By using this file, you are agreeing to this product's EULA This product can be obtained in https://github.com/jespb/C-StdGP Copyright ©2021-2022 J. E. Batista

This file contains information about the command and flags used in the stand-alone version of this implementation and an explanation on how to import, use and edit this implementation.

This implementation of StdGP can be used in a stand-alone fashion using the following command and flags:

$ python Main_StdGP_standalone.py

[-d datasets] 
	- This flag expects a set of csv dataset names separated by ";" (e.g., a.csv;b.csv)
	- By default, the heart.csv dataset is used		

[-dsdir dir] 
	- States the dataset directory. 
	- By default "datasets/" is used 
	- Use "-dsdir ./" for the root directory	

[-es elite_size]
	- This flag expects an integer with the elite size;
	- By default, the elite has size 1.

[-md max_depth]
	- This flag expects an integer with the maximum initial depth for the trees;
	- By default, this value is set to 6.		

[-mg max_generation]
	- This flag expects an integer with the maximum number of generations;
	- By default, this value is set to 100.

[-odir dir] 
	- States the output directory. 
	- By default "results/" is used 
	- Use "-odir ./" for the root directory

[-op operators]
	- This flag excepts a set of operators separated by ";"
	- Allowed operators: +;-;*;/
	- By default, the used operators are the sum, subtraction, multiplication and protected division.		

[-ps population_size]
	- This flag expects an integer with the size of the population;
	- By default, this value is set to 500.

[-runs number_of_runs] 
	- This flag expects an integer with the number of runs to be made;
	- By default, this values is set to 30

[-tf train_fraction]
	- This flag expects a float [0;1] with the fraction of the dataset to be used in training;
	- By default, this value is set to 0.70

[-ts tournament_size]
	- This flag expects an integer with the tournament size;
	- By default, this value is set to 10.

[-t number_of_threads]
	- This flag expects an integer with the number of threads to use while evaluating the population;
	- If the value is set to 1, the multiprocessing library will not be used 
	- By default, this value is set to 1.

How to use this implementation: $ make $ ./exec_StdGP [parameters]

Useful methods: $ struct StdGP_t* model = stdgp_create( ... ) -> creates the population; $ fit(model) -> trains the model; $ predict_classification(model, X, No_of_samples) -> Returns a list with the prediction of the given dataset. $ predict_regression(model, X, No_of_samples) -> Returns a list with the prediction of the given dataset.

Reference: Poli, R., Langdon, W.B., McPhee, N.F.: A Field Guide to Genetic Programming. Lulu Enterprises, UK Ltd (2008)

About

My C implementation of the Standard Genetic Programming Algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published