pyccea.coevolution package

class pyccea.coevolution.CCEAFS(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary-Based Feature Selection (CCEAFS).

Rashid, A. N. M., et al. “A novel penalty-based wrapper objective function for feature selection in Big Data using cooperative co-evolution.” IEEE Access 8 (2020): 150113-150129.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

class pyccea.coevolution.CCFC(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Feature Clustering.

Decomposition strategy proposed on: Li, Haoran, et al. “MLFS-CCDE: multi-objective large-scale feature selection by cooperative coevolutionary differential evolution.” Memetic Computing 13 (2021): 1-18.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

class pyccea.coevolution.CCFSRFG1(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary-Based Feature Selection with Random Feature Grouping 1.

Rashid, A. N. M., et al. “Cooperative co-evolution for feature selection in Big Data with random feature grouping.” Journal of Big Data 7.1 (2020): 1-42.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

class pyccea.coevolution.CCFSRFG2(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary-Based Feature Selection with Random Feature Grouping 2.

Rashid, A. N. M., et al. “Cooperative co-evolution for feature selection in Big Data with random feature grouping.” Journal of Big Data 7.1 (2020): 1-42.

Attributes:
best_feature_idxsnp.ndarray

List of feature indices corresponding to the best decomposition.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

class pyccea.coevolution.CCILFG(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Interaction Learning Feature Grouping (CCILFG).

Decomposition strategy proposed on: Hou, Yaqing, et al. “A correlation-guided cooperative coevolutionary method for feature selection via interaction learning-based space division.” Swarm and Evolutionary Computation 93 (2025): 101846.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize() None[source]

Solve the feature selection problem through optimization.

class pyccea.coevolution.CCPSTFG(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Projection-based Self-Tuning Feature Grouping (CCPSTFG).

Attributes:
n_componentsint

Number of components to keep after dimensionality reduction.

methodstr

Projection-based decomposition method. It can be ‘clustering’, ‘elitist’ and ‘distributed’.

vip_thresholdfloat

All features whose importance is less than or equal to this threshold will be removed.

removed_featuresnp.ndarray

Indexes of features that were removed due to their low importance.

Methods

optimize()

Solve the feature selection problem through optimization.

CLUSTERING_METHODS = {'agglomerative_clustering': (<class 'sklearn.cluster._agglomerative.AgglomerativeClustering'>, {'linkage': 'ward', 'metric': 'euclidean'}), 'k_means': (<class 'sklearn.cluster._kmeans.KMeans'>, {})}
optimize() None[source]

Solve the feature selection problem through optimization.

class pyccea.coevolution.CCSUFG(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Symmetric Uncertainty Feature Grouping (CCSUFG).

Symmetric Uncertainty computation based on: Li, Jundong, et al. “Feature selection: A data perspective.” ACM Computing Surveys (CSUR) 50.6 (2017): 1-45.

Decomposition strategy proposed on: Song, Xian-Fang, et al. “Variable-size cooperative coevolutionary particle swarm optimization for feature selection on high-dimensional data.” IEEE Transactions on Evolutionary Computation 24.5 (2020): 882-895.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize() None[source]

Solve the feature selection problem through optimization.

Submodules

pyccea.coevolution.ccea module

class pyccea.coevolution.ccea.CCEA(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: ABC

An abstract class for a Cooperative Co-Evolutionary-Based Feature Selection Algorithm.

Attributes:
subpop_sizes: list

Subpopulation sizes, that is, the number of individuals in each subpopulation.

decomposer: object of one of the decomposition classes

Responsible for decompose the problem into smaller subproblems.

collaborator: object of one of the collaboration classes.

Responsible for selecting collaborators for individuals.

fitness_function: object of one of the fitness classes.

Responsible for evaluating individuals, that is, subsets of features.

initializer: object of one of the subpopulation initializers

Responsible for initializing all individuals of all subpopulations.

optimizers: list of objects of optimizer classes

Responsible for evolving each of the subpopulations individually.

subpops: list

Individuals from all subpopulations. Each individual is represented by a binary n-dimensional array, where n is the number of features. If there is a 1 in the i-th position of the array, it indicates that the i-th feature should be considered and if there is a 0, it indicates that the feature should not be considered.

fitness: list

Evaluation of all context vectors from all subpopulations.

context_vectors: list

Complete problem solutions.

convergence_curve: list

Best global fitness in each generation.

current_best: dict

Current best individual of each subpopulation and its respective evaluation.

best_context_vector: np.ndarray

Best solution of the complete problem.

best_fitness: float

Evaluation of the best solution of the complete problem.

feature_idxsnp.ndarray

List of feature indexes.

Methods

optimize()

Solve the feature selection problem through optimization.

abstractmethod optimize()[source]

Solve the feature selection problem through optimization.

pyccea.coevolution.cceafs module

class pyccea.coevolution.cceafs.CCEAFS(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary-Based Feature Selection (CCEAFS).

Rashid, A. N. M., et al. “A novel penalty-based wrapper objective function for feature selection in Big Data using cooperative co-evolution.” IEEE Access 8 (2020): 150113-150129.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

pyccea.coevolution.ccfc module

class pyccea.coevolution.ccfc.CCFC(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Feature Clustering.

Decomposition strategy proposed on: Li, Haoran, et al. “MLFS-CCDE: multi-objective large-scale feature selection by cooperative coevolutionary differential evolution.” Memetic Computing 13 (2021): 1-18.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

pyccea.coevolution.ccfsrfg1 module

class pyccea.coevolution.ccfsrfg1.CCFSRFG1(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary-Based Feature Selection with Random Feature Grouping 1.

Rashid, A. N. M., et al. “Cooperative co-evolution for feature selection in Big Data with random feature grouping.” Journal of Big Data 7.1 (2020): 1-42.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

pyccea.coevolution.ccfsrfg2 module

class pyccea.coevolution.ccfsrfg2.CCFSRFG2(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary-Based Feature Selection with Random Feature Grouping 2.

Rashid, A. N. M., et al. “Cooperative co-evolution for feature selection in Big Data with random feature grouping.” Journal of Big Data 7.1 (2020): 1-42.

Attributes:
best_feature_idxsnp.ndarray

List of feature indices corresponding to the best decomposition.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize()[source]

Solve the feature selection problem through optimization.

pyccea.coevolution.ccga module

class pyccea.coevolution.ccga.CCGA(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCEA

Cooperative Co-Evolutionary Genetic Algorithm.

Attributes:
subcomp_sizeslist

Number of features in each subcomponent.

feature_idxsnp.ndarray

Shuffled list of feature indexes.

Methods

optimize()

Solve the feature selection problem through optimization.

pyccea.coevolution.ccilfg module

class pyccea.coevolution.ccilfg.CCILFG(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Interaction Learning Feature Grouping (CCILFG).

Decomposition strategy proposed on: Hou, Yaqing, et al. “A correlation-guided cooperative coevolutionary method for feature selection via interaction learning-based space division.” Swarm and Evolutionary Computation 93 (2025): 101846.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize() None[source]

Solve the feature selection problem through optimization.

pyccea.coevolution.ccpstfg module

class pyccea.coevolution.ccpstfg.CCPSTFG(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Projection-based Self-Tuning Feature Grouping (CCPSTFG).

Attributes:
n_componentsint

Number of components to keep after dimensionality reduction.

methodstr

Projection-based decomposition method. It can be ‘clustering’, ‘elitist’ and ‘distributed’.

vip_thresholdfloat

All features whose importance is less than or equal to this threshold will be removed.

removed_featuresnp.ndarray

Indexes of features that were removed due to their low importance.

Methods

optimize()

Solve the feature selection problem through optimization.

CLUSTERING_METHODS = {'agglomerative_clustering': (<class 'sklearn.cluster._agglomerative.AgglomerativeClustering'>, {'linkage': 'ward', 'metric': 'euclidean'}), 'k_means': (<class 'sklearn.cluster._kmeans.KMeans'>, {})}
optimize() None[source]

Solve the feature selection problem through optimization.

pyccea.coevolution.ccsufg module

class pyccea.coevolution.ccsufg.CCSUFG(data: DataLoader, conf: dict, verbose: bool = True)[source]

Bases: CCGA

Cooperative Co-Evolutionary Algorithm with Symmetric Uncertainty Feature Grouping (CCSUFG).

Symmetric Uncertainty computation based on: Li, Jundong, et al. “Feature selection: A data perspective.” ACM Computing Surveys (CSUR) 50.6 (2017): 1-45.

Decomposition strategy proposed on: Song, Xian-Fang, et al. “Variable-size cooperative coevolutionary particle swarm optimization for feature selection on high-dimensional data.” IEEE Transactions on Evolutionary Computation 24.5 (2020): 882-895.

Methods

optimize()

Solve the feature selection problem through optimization.

optimize() None[source]

Solve the feature selection problem through optimization.