Biblioteca complementaria de la ingeniería y selección de características de libros de aprendizaje automático para modelos explicables: un segundo curso para científicos de datos
El módulo MetaheuristicsFS ayuda a identificar la combinación de características que brindan el mejor resultado. El proceso de búsqueda de la mejor combinación se llama 'selección de características'. Esta biblioteca utiliza algoritmos basados en metaheurística, como algoritmo genético, recocido simulado, optimización de colonias de hormigas y optimización de enjambre de partículas, para realizar la selección de características.
Parámetros de aprendizaje automático: estos son comunes para todos los algoritmos
columns_list : nombres de columnas presentes en x_train_dataframe y x_test que se utilizarán como lista de entrada para buscar la mejor lista de características.
data_dict : datos de capacitación y prueba X e Y proporcionados en formato de diccionario. A continuación se muestra un ejemplo de datos de validación cruzada de 5 veces con claves. {0: {'x_train': x_train_dataframe, 'y_train': y_train_array, 'x_test': x_test_dataframe, 'y_test': y_test_array}, 1: {'x_train': x_train_dataframe, 'y_train': y_train_array, 'x_test': x_test_dataframe, 'y_test': y_test_array}, 2: {'x_train': x_train_dataframe, 'y_train': y_train_array, 'x_test': x_test_dataframe, 'y_test': y_test_array}, 3: {'x_train': x_train_dataframe, 'y_train': y_train_array, 'x_test': x_test_dataframe, 'y_test': y_test_array}, 4: {'x_train': x_train_dataframe, 'y_train': y_train_array, 'x_test': x_test_dataframe, 'y_test': y_test_array}}
Si solo tiene datos de trenes y pruebas y no desea hacer validación cruzada, use el formato de diccionario anterior, con solo una clave.
use_validation_data : si desea usar los datos de validación como un booleano verdadero o falso. El valor predeterminado es verdadero. Si False, el usuario no necesita proporcionar x_validation_dataframe y y_validation_dataframe
x_validation_dataframe : DataFrame que contiene características del conjunto de datos ValidATATA. El valor predeterminado es en blanco Pandas DataFrame.
y_validation_dataframe : Dataframe que contiene una variable dependiente del conjunto de datos de validación. El valor predeterminado es en blanco Pandas DataFrame.
model : Modelo Objeto. Debe tener .fit y.
cost_function_improvement : El objetivo es si aumentar o disminuir el costo durante las iteraciones posteriores. Para la regresión, debe ser 'disminuir' y para la clasificación debe ser 'aumentar'
cost_function : función de costo para encontrar el costo entre los valores reales y predichos, dependiendo de la regresión o el problema de clasificación. La función de costo debe aceptar 'real' y 'predicha' como matrices y costos de devolución para ambos.
average : promedio de ser utilizado. Esto es útil para métricas de clasificación como 'F1_Score', 'jaccard_score', 'fbeta_score', 'precision_score', 'record_score' y 'roc_auc_score' cuando la variable dependiente es multi-class.
Parámetros de selección de características de algoritmo genético (genéticogorithmfs)
generations : Número de generaciones para ejecutar el algoritmo genético. 100 como Deafull
population : número de cromosomas individuales. 50 por defecto. Debe mantenerse como un número bajo si el número de permutación posible y la combinación de conjuntos de características son pequeños.
prob_crossover : probabilidad de crossover. 0.9 como predeterminado
prob_mutation : probabilidad de mutación. 0.1 como predeterminado
run_time : número de minutos para ejecutar el algoritmo. Esto se verifica entre generaciones. Al comienzo de cada generación se verifica si se ha excedido el tiempo de ejecución que el tiempo asignado. Si el tiempo de ejecución de casos excede el límite proporcionado, el mejor resultado de las generaciones ejecutadas hasta ahora se da como salida. El valor predeterminado es de 2 horas. es decir, 120 minutos.
Parámetros de selección de características de recocido simulado (SimulateNeNeAnEningFS)
temperature : temperatura inicial para recocido. El valor predeterminado es 1500
iterations : el número de veces el recocido simulado buscará soluciones. El valor predeterminado es 100.
n_perturb : el número de características del número de veces se perturbará en una iteración. El valor predeterminado es 1.
n_features_percent_perturb : porcentaje de características que se perturban durante cada perturbación. El valor está entre 1 y 100.
alpha : factor de reducción de temperatura. Los valores predeterminados son 0.9.
run_time : número de minutos para ejecutar el algoritmo. Esto se verifica entre generaciones. Al comienzo de cada generación se verifica si se ha excedido el tiempo de ejecución que el tiempo asignado. Si el tiempo de ejecución de casos excede el límite proporcionado, el mejor resultado de las generaciones ejecutadas hasta ahora se da como salida. El valor predeterminado es de 2 horas. es decir, 120 minutos.
Parámetros de selección de características de optimización de colonias de hormigas (antcolonyoptimizationFS)
iterations : el número de veces la optimización de la colonía de hormigas buscará soluciones. El valor predeterminado es 100.
N_ants : número de hormigas en cada iteración. El valor predeterminado es 100.
evaporation_rate : tasa de evaporación. Los valores son entre 0 y 1. Si es demasiado grande, las posibilidades son más altas de encontrar Optima Global, pero computacionalmente costoso. Si es bajo, las posibilidades de encontrar Optima Global son menores. El valor predeterminado se mantiene como 0.8.
Q : coeficiente de actualización de feromeno. Valor entre 0 y 1. Afecta la velocidad de convergencia. Si es grande, ACO se atascará en Local Optima. El valor predeterminado se mantiene como 0.2.
run_time : número de minutos para ejecutar el algoritmo. Esto se verifica entre generaciones. Al comienzo de cada generación se verifica si se ha excedido el tiempo de ejecución que el tiempo asignado. Si el tiempo de ejecución de casos excede el límite proporcionado, el mejor resultado de las generaciones ejecutadas hasta ahora se da como salida. El valor predeterminado es de 2 horas. es decir, 120 minutos.
Parámetros de selección de características de optimización del enjambre de partículas (partículas WarmoptimizationFS) Parámetros
iterations : Número de veces la optimización de enjambre de partículas buscará soluciones. El valor predeterminado es 100.
swarmSize : tamaño del enjambre en cada iteración. El valor predeterminado es 100.
run_time : número de minutos para ejecutar el algoritmo. Esto se verifica entre generaciones. Al comienzo de cada generación se verifica si se ha excedido el tiempo de ejecución que el tiempo asignado. Si el tiempo de ejecución de casos excede el límite proporcionado, el mejor resultado de las generaciones ejecutadas hasta ahora se da como salida. El valor predeterminado es de 2 horas. es decir, 120 minutos.
MD Azimul Haque (2022). Ingeniería y selección de características para modelos explicables: un segundo curso para científicos de datos. Lulu Press, Inc.
pip install MetaHeuristicsFS