catlearn.ga¶
catlearn.ga.algorithm¶
The GeneticAlgorithm class methods.

class
catlearn.ga.algorithm.
GeneticAlgorithm
(fit_func, features, targets, population_size='auto', population=None, operators=None, fitness_parameters=1, nsplit=2, accuracy=None, nprocs=1, dmax=None)¶ Bases:
object
Genetic algorithm for parameter optimization.

search
(steps, natural_selection=True, convergence_operator=None, repeat=5, verbose=False, writefile=None)¶ Do the actual search.
Parameters:  steps (int) – Maximum number of steps to be taken.
 natural_selection (bool) – A flag that when set True will perform natural selection.
 convergence_operator (object) – The function to perform the convergence check. If None is passed then the no_progress function is used.
 repeat (int) – Number of repeat generations with no progress.
 verbose (bool) – If True, will print out the progress of the search. Default is False.
 writefile (str) – Name of a json file to save data too.

population
¶ The current population.
Type: list

fitness
¶ The fitness for the current population.
Type: list

catlearn.ga.convergence¶
Functions to check for convergence in the GA.

class
catlearn.ga.convergence.
Convergence
¶ Bases:
object
Class to check convergence.

no_progress
(fitness, repeat)¶ Convergence based on a lack of any progress in the search.
Parameters:  fitness (array) – A List of fitnesses from the search.
 repeat (int) – Number of repeat generations with no progress.
Returns: converged – True if convergence has been reached, False otherwise.
Return type: bool

stagnation
(fitness, repeat)¶ Convergence based on a stagnation of the population.
Parameters:  fitness (array) – A List of fitnesses from the search.
 repeat (int) – Number of repeat generations with no progress.
Returns: converged – True if convergence has been reached, False otherwise.
Return type: bool

catlearn.ga.initialize¶
Function to initialize a population.

catlearn.ga.initialize.
initialize_population
(pop_size, dimension, dmax=None)¶ Generate a random starting population.
Parameters:  pop_size (int) – Population size.
 d_param (int) – Dimension of parameters in model.
catlearn.ga.io¶
Functions to read and write GA data.

catlearn.ga.io.
read_data
(writefile)¶ Funtion to read population and fitness.
Parameters: writefile (str) – Name of the JSON file to read. Returns:  population (array) – The population saved from a previous search.
 fitness (array) – The fitness associated with the saved population.
catlearn.ga.mating¶
Cut and splice mating function.

catlearn.ga.mating.
cut_and_splice
(parent_one, parent_two, index='random')¶ Perform cut_and_splice between two parents.
Parameters:  parent_one (list) – List of params for first parent.
 parent_two (list) – List of params for second parent.
 index (str) – Define how to choose size of each cut index.
Returns: offspring – A new child candidate from the two parents.
Return type: array
catlearn.ga.mutate¶
Define some mutation functions.

catlearn.ga.mutate.
probability_include
(parent_one)¶ A mutation that will include features with a certain probability.
Parameters: parent_one (list) – List of params for first parent. Returns: p1 – Mutated parameter list based on the parent parameters provided. Return type: list

catlearn.ga.mutate.
probability_remove
(parent_one)¶ A mutation that will remove features with a certain probability.
Parameters: parent_one (list) – List of params for first parent. Returns: p1 – Mutated parameter list based on the parent parameters provided. Return type: list

catlearn.ga.mutate.
random_permutation
(parent_one)¶ Perform a random permutation on a parameter index.
Parameters: parent_one (list) – List of params for first parent. Returns: p1 – Mutated parameter list based on the parent parameters provided. Return type: list
catlearn.ga.natural_selection¶
Functions to perform some natural selection.

catlearn.ga.natural_selection.
population_reduction
(pop, fit, population_size)¶ Method to reduce population size to constant.
Parameters:  pop (list) – Extended population.
 fit (list) – Extended fitness assignment.
 population_size (int) – The population size.
 pareto (bool) – Flag to specify whether search is for Pareto optimal set.
Returns:  population (list) – The population after natural selection.
 fitness (list) – The fitness for the current population.

catlearn.ga.natural_selection.
remove_duplicates
(population, fitness, accuracy)¶ Function to delete duplicate candidates based on fitness.
Parameters:  population (array) – The current population.
 fitness (array) – The fitness for the current population.
 accuracy (int) – Number of decimal places to include when finding unique.
Returns:  population (list) – The population after duplicates deleted.
 fitness (list) – The fitness for the population after duplicates deleted.
catlearn.ga.predictors¶
Some generic prediction functions.

catlearn.ga.predictors.
minimize_error
(train_features, train_targets, test_features, test_targets)¶ A generic fitness function.
This fitness function will minimize the cost function.
Parameters:  train_features (array) – The training features.
 train_targets (array) – The training targets.
 test_features (array) – The test feaatures.
 test_targets (array) – The test targets.

catlearn.ga.predictors.
minimize_error_descriptors
(train_features, train_targets, test_features, test_targets)¶ A generic fitness function.
This fitness function will minimize the cost function as well as the number of descriptors. This will provide a Pareto optimial set of solutions upon convergence.
Parameters:  train_features (array) – The training features.
 train_targets (array) – The training targets.
 test_features (array) – The test feaatures.
 test_targets (array) – The test targets.

catlearn.ga.predictors.
minimize_error_time
(train_features, train_targets, test_features, test_targets)¶ A generic fitness function.
This fitness function will minimize the cost function as well as the time to train the model. This will provide a Pareto optimial set of solutions upon convergence.
Parameters:  train_features (array) – The training features.
 train_targets (array) – The training targets.
 test_features (array) – The test feaatures.
 test_targets (array) – The test targets.