Un algoritmo genético para la selección de características (mutación = conmutar entre habilitar y deshabilitar características, cruza = intercambiar características utilizadas). La selección se realiza haciendo
girar la ruleta. Los algoritmos genéticos son algoritmos de optimización/búsqueda de propósito general que son convenientes en caso de poco o ningún conocimiento del problema.
Un algoritmo genético funciona de la siguiente manera:
- Genera una población inicial compuesta por population_size individuos. Cada atributo se habilita con una probabilidad p_initialize.
- Para todos los individuos de la población:
- Realizan la mutación, es decir, definen los atributos utilizados o no utilizados con probabilidad p_mutation y viceversa.
- Seleccionan dos individuos de la población y realizan la cruza con probabilidad p_crossover. El tipo de cruza se puede seleccionar mediante crossover_type.
- Realiza la selección, mapea todos los individuos a secciones de una ruleta, cuyo tamaño es proporcional a la aptitud del individuo y extrae population_size individuos al azar, en función de sus probabilidades.
- Mientras mejora la aptitud, vuelve al paso 2.
Si el conjunto de ejemplos contiene atributos de series de valores con bloques de números, todo el bloque