Begleitbibliothek des maschinellen Lernbuchs Feature Engineering & Auswahl für erklärbare Modelle: Ein zweiter Kurs für Datenwissenschaftler
Das MetaheuristicsFS -Modul hilft bei der Identifizierung einer Kombination von Funktionen, die das beste Ergebnis erzielen. Der Prozess der Suche nach Bester Kombination wird als "Feature Auswahl" bezeichnet. Diese Bibliothek verwendet metaheuristisch basierte Algorithmen wie genetischer Algorithmus, simuliertes Tempern, Ameisenkolonieoptimierung und Partikelschwarmoptimierung, um die Merkmalsauswahl auszuführen.
Parameter für maschinelles Lernen: Diese sind für alle Algorithmen üblich
columns_list : Spaltennamen in x_train_dataframe und x_test vorhanden, die als Eingabeliste verwendet werden, um die beste Liste der Funktionen zu durchsuchen.
data_dict : X- und Y -Trainings- und Testdaten, die im Wörterbuchformat bereitgestellt werden. Im Folgenden finden Sie Beispiele für 5 -fache Kreuzvalidierungsdaten mit Schlüsseln. {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}}
Wenn Sie nur Zug- und Testdaten haben und keine Kreuzvalidierung durchführen möchten, verwenden Sie das obige Wörterbuchformat mit nur einem Schlüssel.
use_validation_data : Ob Sie Validierungsdaten als boolean true oder falsch verwenden möchten. Standardwert ist wahr. Wenn falsch, muss der Benutzer nicht x_validation_dataframe und y_validation_dataframe angeben
x_validation_dataframe : DataFrame mit Funktionen des Validatoin -Datensatzes. Standard ist leer Pandas DataFrame.
y_validation_dataframe : DataFrame, der eine abhängige Variable des Validierungsdatensatzes enthält. Standard ist leer Pandas DataFrame.
model : Modellobjekt. Es sollte .fit und .Predict -Attribut haben
cost_function_improvement : Ziel ist es, ob die Kosten bei nachfolgenden Iterationen erhöht oder verringert werden. Für die Regression sollte es "abnehmen" und für die Klassifizierung "Erhöhung" sein.
cost_function : Kostenfunktion zum Auffinden von Kosten zwischen den tatsächlichen und vorhergesagten Werten, abhängig vom Regressions- oder Klassifizierungsproblem. Die Kostenfunktion sollte "tatsächlich" und "vorhergesagt" als Arrays und Rückgabekosten für beide akzeptieren.
average : Mittelung, die verwendet werden müssen. Dies ist nützlich für Klassifizierungsmetriken wie 'F1_Score', 'Jaccard_Score', 'FBeta_Score', 'Precision_Score', 'Recall_Score' und 'ROC_AUC_SCORE', wenn abhängige Variable Multi-Class ist
Genetische Algorithmus -Merkmalsauswahl (Geneticalgorithmfs) Parameter
generations : Anzahl der Generationen, um den genetischen Algorithmus auszuführen. 100 als DeeauT
population : Anzahl der einzelnen Chromosomen. 50 standardmäßig. Es sollte als niedrige Anzahl gehalten werden, wenn die Anzahl der möglichen Permutationen und die Kombination der Feature -Sets gering ist.
prob_crossover : Wahrscheinlichkeit von Crossover. 0,9 standardmäßig
prob_mutation : Mutationswahrscheinlichkeit. 0,1 standardmäßig
run_time : Anzahl der Minuten, um den Algorithmus auszuführen. Dies wird zwischen den Generationen überprüft. Zu Beginn jeder Generation wird es überprüft, wenn die Laufzeit überschritten ist als die Zeit. Wenn der Falllaufzeit die bereitgestellte Grenze überschreitet, wird das beste Ergebnis aus bisher ausgeführten Generationen als Ausgabe angegeben. Die Standardeinstellung beträgt 2 Stunden. dh 120 Minuten.
Simulierte Annealing -Feature -Auswahl (simuledAnealingfs) Parameter
temperature : Anfangstemperatur zum Glühen. Standard ist 1500
iterations : Häufige, die simulierte Glühen werden nach Lösungen suchen. Standard ist 100.
n_perturb : Die Anzahl der Male -Features -Set wird in einer Iteration gestört. Standard ist 1.
n_features_percent_perturb : Prozentsatz der Merkmale, die während jeder Störung gestört werden. Der Wert liegt zwischen 1 und 100.
alpha : Temperaturreduktionsfaktor. Standardeinstellungen sind 0,9.
run_time : Anzahl der Minuten, um den Algorithmus auszuführen. Dies wird zwischen den Generationen überprüft. Zu Beginn jeder Generation wird es überprüft, wenn die Laufzeit überschritten ist als die Zeit. Wenn der Falllaufzeit die bereitgestellte Grenze überschreitet, wird das beste Ergebnis aus bisher ausgeführten Generationen als Ausgabe angegeben. Die Standardeinstellung beträgt 2 Stunden. dh 120 Minuten.
AntkolonyoptimizationFS -Parameter (Antkolonyoptimization) Ameisenkolonienoptimierungsfunktionen
iterations : Die Häufigkeit, mit der die Kolonieoptimierung nach Lösungen sucht. Standard ist 100.
N_ants : Anzahl der Ameisen in jeder Iteration. Standard ist 100.
evaporation_rate : Verdunstungsrate. Die Werte sind zwischen 0 und 1. Wenn es zu groß ist, sind die Chancen, global optima zu finden, aber rechnerisch teuer. Wenn es niedrig ist, sind die Wahrscheinlichkeit, globales Optima zu finden, geringer. Die Standardeinstellung wird als 0,8 gehalten.
Q : Pheromen -Update -Koeffizient. Wert zwischen 0 und 1. Er beeinflusst die Konvergenzgeschwindigkeit. Wenn es groß ist, bleibt ACO bei lokalem Optima stecken. Die Standardeinstellung wird als 0,2 gehalten.
run_time : Anzahl der Minuten, um den Algorithmus auszuführen. Dies wird zwischen den Generationen überprüft. Zu Beginn jeder Generation wird es überprüft, wenn die Laufzeit überschritten ist als die Zeit. Wenn der Falllaufzeit die bereitgestellte Grenze überschreitet, wird das beste Ergebnis aus bisher ausgeführten Generationen als Ausgabe angegeben. Die Standardeinstellung beträgt 2 Stunden. dh 120 Minuten.
Partikelschwarmoptimierungsfunktionsauswahl (Partikelwarmoptimizationfs) Parameter
iterations : Häufigkeit der Optimierung der Partikelschwarmoptimierung wird nach Lösungen suchen. Standard ist 100.
swarmSize : Größe des Schwarms in jeder Iteration. Standard ist 100.
run_time : Anzahl der Minuten, um den Algorithmus auszuführen. Dies wird zwischen den Generationen überprüft. Zu Beginn jeder Generation wird es überprüft, wenn die Laufzeit überschritten ist als die Zeit. Wenn der Falllaufzeit die bereitgestellte Grenze überschreitet, wird das beste Ergebnis aus bisher ausgeführten Generationen als Ausgabe angegeben. Die Standardeinstellung beträgt 2 Stunden. dh 120 Minuten.
Md Azimul Haque (2022). Feature Engineering & Selection für erklärbare Modelle: Ein zweiter Kurs für Datenwissenschaftler. Lulu Press, Inc.
pip install MetaHeuristicsFS