fishy.models.evolutionary.gp¶
Genetic Programming (GP) engine for multi-tree evolution. Standardized to provide a scikit-learn compatible interface.
Classes
- class fishy.models.evolutionary.gp.GP(generations: int = 10, population_size: int = 100, crossover_rate: float = 0.8, mutation_rate: float = 0.2, elitism: float = 0.1, max_depth: int = 6, random_state: int = 42)[source]¶
Bases:
BaseEstimator,ClassifierMixinScikit-learn compatible wrapper for Multi-tree Genetic Programming.
- __init__(generations: int = 10, population_size: int = 100, crossover_rate: float = 0.8, mutation_rate: float = 0.2, elitism: float = 0.1, max_depth: int = 6, random_state: int = 42)[source]¶
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') GP[source]¶
Configure whether metadata should be requested to be passed to the
scoremethod.Note that this method is only relevant when this estimator is used as a sub-estimator within a meta-estimator and metadata routing is enabled with
enable_metadata_routing=True(seesklearn.set_config()). Please check the User Guide on how the routing mechanism works.The options for each parameter are:
True: metadata is requested, and passed toscoreif provided. The request is ignored if metadata is not provided.False: metadata is not requested and the meta-estimator will not pass it toscore.None: metadata is not requested, and the meta-estimator will raise an error if the user provides it.str: metadata should be passed to the meta-estimator with this given alias instead of the original name.
The default (
sklearn.utils.metadata_routing.UNCHANGED) retains the existing request. This allows you to change the request for some parameters and not others.Added in version 1.3.
- Parameters:
sample_weight (str, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED) – Metadata routing for
sample_weightparameter inscore.- Returns:
self – The updated object.
- Return type:
object
Functions
- fishy.models.evolutionary.gp.compileMultiTree(expr: List[deap.gp.PrimitiveTree], pset: deap.gp.PrimitiveSetTyped, X: ndarray) ndarray[source]¶
Compiles a multi-tree individual into a feature matrix.
- fishy.models.evolutionary.gp.normalized_distances(X: ndarray, y: ndarray) Tuple[float, float][source]¶
Computes normalized means of intraclass and interclass distances.
- fishy.models.evolutionary.gp.quick_evaluate(expr: deap.gp.PrimitiveTree, pset: deap.gp.PrimitiveSetTyped, data: ndarray, prefix: str = 'ARG') ndarray[source]¶
Optimized stack-based evaluation of GP trees.
- fishy.models.evolutionary.gp.staticLimit(key: Any, max_value: int) Any[source]¶
Depth limit decorator for multi-tree genetic operators.
- fishy.models.evolutionary.gp.wrapper_fitness(X: ndarray, y: ndarray) float[source]¶
Calculates weighted fitness based on accuracy and distance metrics.
- fishy.models.evolutionary.gp.xmate(ind1: List[deap.gp.PrimitiveTree], ind2: List[deap.gp.PrimitiveTree]) Tuple[List[deap.gp.PrimitiveTree], List[deap.gp.PrimitiveTree]][source]¶
Reproduction operator for multi-tree GP individuals.
- fishy.models.evolutionary.gp.xmut(individual: List[deap.gp.PrimitiveTree], expr: Any, pset: deap.gp.PrimitiveSetTyped) Tuple[List[deap.gp.PrimitiveTree]][source]¶
Mutation operator for multi-tree GP individuals.
s