Compagnon Bibliothèque de caractéristiques d'apprentissage automatique Ingénierie et sélection pour les modèles explicables: un deuxième cours pour les scientifiques des données
Le module MetaheuristicsFS aide à identifier la combinaison de fonctionnalités qui donnent le meilleur résultat. Le processus de recherche de la meilleure combinaison est appelé «sélection de fonctionnalités». Cette bibliothèque utilise des algorithmes à base de métaheuristes tels que l'algorithme génétique, le recuit simulé, l'optimisation des colonies de fourmis et l'optimisation de l'essaim de particules, pour effectuer la sélection des fonctionnalités.
Paramètres d'apprentissage automatique: ceux-ci sont communs pour tous les algorithmes
columns_list : Noms de colonnes présents dans x_train_dataframe et x_test qui seront utilisés comme liste d'entrée pour rechercher la meilleure liste de fonctionnalités.
data_dict : Données de formation et de test X et Y fournies au format de dictionnaire. Vous trouverez ci-dessous un exemple de données de validation croisée à 5 fois avec des clés. {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 vous n'avez que des données de train et de test et que vous ne souhaitez pas faire de validation croisée, utilisez le format du dictionnaire ci-dessus, avec une seule clé.
use_validation_data : que vous souhaitiez utiliser des données de validation en tant que booléen vrai ou faux. La valeur par défaut est vraie. Si faux, l'utilisateur n'a pas besoin de fournir x_validation_dataframe et y_validation_dataframe
x_validation_dataframe : DataFrame contenant des fonctionnalités de l'ensemble de données validatoin. La valeur par défaut est Blank Pandas DataFrame.
y_validation_dataframe : DataFrame contenant la variable dépendante de l'ensemble de données de validation. La valeur par défaut est Blank Pandas DataFrame.
model : objet modèle. Il devrait avoir un attribut .fit et .predict
cost_function_improvement : L'objectif est de savoir si augmenter ou diminuer le coût lors des itérations ultérieures. Pour la régression, cela devrait être «diminué» et pour la classification, il devrait être «augmenté»
cost_function : fonction de coût pour trouver le coût entre les valeurs réelles et prédites, selon la régression ou le problème de classification. La fonction de coût doit accepter «réel» et «prédit» en tant que tableaux et coûts de retour pour les deux.
average : la moyenne à utiliser. Ceci est utile pour les métriques de clasification telles que «f1_score», «jaccard_score», «fbeta_score», «précision_score», «rappel_score» et «roc_auc_score» lorsque la variable dépendante est multi-classe
Paramètres de sélection de caractéristiques de l'algorithme génétique (GeneticalGorithMFS)
generations : Nombre de générations pour exécuter un algorithme génétique. 100 comme désinvolte
population : Nombre de chromosomes individuels. 50 par défaut. Il doit être conservé comme un nombre faible si le nombre de permutation possible et la combinaison des ensembles de fonctionnalités sont petits.
prob_crossover : probabilité de croisement. 0,9 par défaut
prob_mutation : probabilité de mutation. 0,1 par défaut
run_time : nombre de minutes pour exécuter l'algorithme. Ceci est vérifié entre les générations. Au début de chaque génération, il est vérifié si l'exécution a dépassé le temps alloué. Si le temps d'exécution du cas dépasse la limite fournis, le meilleur résultat des générations exécutées jusqu'à présent est donnée sous forme de sortie. La valeur par défaut est de 2 heures. c'est-à-dire 120 minutes.
Paramètres de sélection de fonctionnalités de recuit simulées (SimulatedAnalingFS)
temperature : température initiale du recuit. La valeur par défaut est 1500
iterations : Le nombre de fois de recuit simulé recherchera des solutions. La valeur par défaut est 100.
n_perturb : Le nombre de fonctions de temps sera perturbé dans une itération. La valeur par défaut est 1.
n_features_percent_perturb : Pourcentage de fonctionnalités qui seront perturbées lors de chaque perturbation. La valeur est comprise entre 1 et 100.
alpha : facteur de réduction de la température. Les défauts sont de 0,9.
run_time : nombre de minutes pour exécuter l'algorithme. Ceci est vérifié entre les générations. Au début de chaque génération, il est vérifié si l'exécution a dépassé le temps alloué. Si le temps d'exécution du cas dépasse la limite fournis, le meilleur résultat des générations exécutées jusqu'à présent est donnée sous forme de sortie. La valeur par défaut est de 2 heures. c'est-à-dire 120 minutes.
Paramètres de sélection des fonctionnalités d'optimisation de la colonie de fourmis (AntColonyOptimisationFS)
iterations : le nombre de fois où l'optimisation des colonies de fourmis recherchera des solutions. La valeur par défaut est 100.
N_ants : nombre de fourmis dans chaque itération. La valeur par défaut est 100.
evaporation_rate : Rate d'évaporation. Les valeurs sont comprises entre 0 et 1. S'il est trop grand, les chances sont plus élevées pour trouver Global Optima, mais coûteuse par calcul. S'il est faible, les chances de trouver l'optima global sont moindres. La valeur par défaut est maintenue à 0,8.
Q : Coefficient de mise à jour de phéromène. Valeur entre 0 et 1. Il affecte la vitesse de convergence. S'il est grand, ACO restera coincé chez Local Optima. La valeur par défaut est maintenue à 0,2.
run_time : nombre de minutes pour exécuter l'algorithme. Ceci est vérifié entre les générations. Au début de chaque génération, il est vérifié si l'exécution a dépassé le temps alloué. Si le temps d'exécution du cas dépasse la limite fournis, le meilleur résultat des générations exécutées jusqu'à présent est donnée sous forme de sortie. La valeur par défaut est de 2 heures. c'est-à-dire 120 minutes.
Paramètres de sélection de fonctionnalités d'optimisation de l'essaim de particules (Paramètres de Particules
iterations : Le nombre de fois où l'optimisation des essaims de particules recherchera des solutions. La valeur par défaut est 100.
swarmSize : Taille de l'essaim dans chaque itération. La valeur par défaut est 100.
run_time : nombre de minutes pour exécuter l'algorithme. Ceci est vérifié entre les générations. Au début de chaque génération, il est vérifié si l'exécution a dépassé le temps alloué. Si le temps d'exécution du cas dépasse la limite fournis, le meilleur résultat des générations exécutées jusqu'à présent est donnée sous forme de sortie. La valeur par défaut est de 2 heures. c'est-à-dire 120 minutes.
MD Azimul Haque (2022). Caractéristiques d'ingénierie et de sélection pour les modèles explicables: un deuxième cours pour les scientifiques des données. Lulu Press, Inc.
pip install MetaHeuristicsFS