Edamame
- Edamame
- Funktionen
- EDA -Modul
- Regressor -Modul
- Klassifikatormodul
- Todos
Edamame ist von Paketen wie Pandas-Profile, Pycaret und Yellowbrick inspiriert. Das Ziel von Edamame ist es, benutzerfreundliche Funktionen für die Durchführung von Explorationsdatenanalysen (EDA) für Datensätze sowie für die Schulung und Analyse von Batterien von Modellen für Regressions- oder Klassifizierungsprobleme bereitzustellen.
Um das Paket zu installieren,
Das Edamame-Paket funktioniert korrekt in einem Jupyter-Notebook. Die Dokumentation des Pakets finden Sie auf der Seite Edamame-Dokumentation.
Funktionen
Das Paket besteht aus drei Modulen: EDA, die explorative Datenanalysen durchführt; und Regressor und Klassifizierer, die das Training von Modellen für maschinelles Lernen für Regression bzw. Klassifizierung durchführen. Um Beispiele für die Verwendung des Edamame -Pakets zu sehen, können Sie den Beispiel -Ordner im Repository überprüfen.
EDA -Modul
import edamame . eda as eda
Das EDA -Modul bietet eine breite Palette von Funktionen für die Durchführung von Explorationsdatenanalysen (EDA) für Datensätze. Mit diesem Modul können Sie Ihre Daten problemlos untersuchen und manipulieren, beschreibende Statistiken durchführen, Korrelationsanalysen erstellen und Ihre Daten für maschinelles Lernen vorbereiten. Das "EDA" -Modul bietet die folgenden Funktionen:
Datenerforschung und Manipulationsfunktionen:
- Abmessungen : Die Funktion zeigt die Anzahl der Zeilen und Spalten eines Pandas -Datenframe, das übergeben wurde.
- Identifizieren Sie_types : Identifizieren Sie die Datentypen jeder Spalte.
- View_Cardinalität : Zeigen Sie die Anzahl der eindeutigen Werte in jeder kategorialen Spalte an.
- Modify_Cardinalität : Ändern Sie die Anzahl der eindeutigen Werte in einer Spalte.
- Fehlen : Überprüfen Sie, ob im Datensatz fehlende Daten vorhanden sind.
- Handling_missing : Fehlende Werte im Datensatz ersetzen oder entfernen.
- Drop_Columns : Entfernen Sie bestimmte Spalten aus dem Datensatz.
- num_to_categorical : Die Funktion gibt einen Datenrahmen zurück, wobei die Spalten in ein "Objekt" transformiert sind.
- Interaktion : Die Funktion zeigt ein interaktives Diagramm zur Analyse von Beziehungen zwischen numerischen Spalten mit einem Streudiagramm.
- Inspektion : Die Funktion zeigt ein interaktives Diagramm zur Analyse der Verteilung einer Variablen basierend auf den unterschiedlichen Kardinalitäten der Zielvariablen.
- Split_and_Scaling : Die Funktion gibt zwei PANDAS -Datenrahmen zurück: Die Regressormatrix X enthält alle Prädiktoren für das Modell, die Serie Y enthält die Werte der Antwortvariablen.
Beschreibende Statistikfunktionen:
- CRADE_DISTISTIBISION : Die Funktion zeigt das Ergebnis der auf einen Pandas -Datenrahmen angewendeten Beschreibung () -Methode an, geteilt durch numerische und Objektspalten.
- Plot_Categorical : Die Funktion gibt eine Sequenz von Tabellen und Diagrammen für die kategorialen Variablen zurück.
- Plot_numerical : Die Funktion gibt eine Sequenz von Tabellen und Diagrammen für die numerischen Variablen zurück.
- num_variable_study : Die Funktion zeigt die folgenden Transformationen des variablen COL übergeben: log (x), sqrt (x), x^2, box-cox, 1/x.
Korrelationsanalysefunktionen:
- correlation_pearson : Die Funktion führt die Korrelation des Pearson zwischen den Spaltenpaaren aus.
- Correlation_Categorical : Die Funktion führt den Chi-Quadrat-Test der Unabhängigkeit zwischen kategorialen Variablen des Datensatzes aus.
- Correlation_Phik : Berechnen Sie den Phik -Korrelationskoeffizienten zwischen allen Spaltenpaaren (Papierverbindung).
Nützliche Funktionen:
- Load_Model : Die Funktion laden das im Gurkenformat gespeicherte Modell.
- Setup : Die Funktion gibt die folgenden Elemente zurück: x_train, y_train, x_test, y_test.
- Skalierung : Die Funktion gibt die normalisierte/standardisierte Matrix zurück.
- OHE : Die Funktion gibt das in als Eingabe übergebene Numpy-Array zurück, das mit einer HOT-Codierung konvertiert wurde.
Regressor -Modul
from edamame . regressor import TrainRegressor , regression_metrics
Die TrainRegressor -Klasse ist so konzipiert, dass sie als Pipeline für Trainings- und Umgang mit Regressionsmodellen verwendet werden soll.
Die Klasse bietet verschiedene Methoden zum Anpassung verschiedener Regressionsmodelle, Computermodellmetriken, Speichern und Lademodellen und mithilfe von Automl, um das beste Modell basierend auf Leistungsmetriken auszuwählen. Diese Methoden umfassen:
- Linear : passt zu einem linearen Regressionsmodell in die Trainingsdaten.
- Lasso : passt zu einem Lasso -Regressionsmodell in die Trainingsdaten.
- Ridge : Passt ein Ridge -Regressionsmodell für die Trainingsdaten.
- Baum : Passt ein Entscheidungsbaum -Regressionsmodell in die Trainingsdaten.
- Random_forest : passt zu einem zufälligen Waldregressionsmodell in die Trainingsdaten.
- XGBOOST : passt zu einem Xgboost -Regressionsmodell in die Trainingsdaten.
- AUTO_ML : Verwendet Automl, um das beste Modell basierend auf Leistungsmetriken auszuwählen.
- Modell_Metrics : Berechnet und druckt die Leistungsmetriken für jedes geschulte Modell.
- SAVE_MODEL : Speichert das geschulte Modell in einer Datei.
Nach dem Speichern eines Modells mit der Save_Model -Methode können wir das Modell mit der Funktion load_model des EDA -Moduls hochladen und seine Leistung auf neuen Daten mithilfe der Funktion rEGRESSION_Metrics bewerten.
from edamame . regressor import RegressorDiagnose
Die REGRESORDIAGNOSE -Klasse wurde entwickelt, um Regressionsmodelle zu diagnostizieren und ihre Leistung zu analysieren. Die Klasse bietet verschiedene Methoden zur Diagnose und Analyse der Leistung von Regressionsmodellen. Diese Methoden umfassen:
- Koeffizienten : Berechnet und druckt die Koeffizienten des Regressionsmodells.
- Random_forest_fi : Zeigt das Merkmal -Wichtigkeitsdiagramm für das Zufallswald -Regressionsmodell an.
- Random_forest_fi : Zeigt das Feature -Wichtigkeitsdiagramm für das Xgboost -Regressionsmodell an.
- Prediction_error : Berechnet und druckt den Vorhersagefehler des Regressionsmodells in den Testdaten.
- Residual_Plot : Erstellt und zeigt ein Restplot für das Regressionsmodell.
- QQPlot : Erstellt und zeigt ein QQ -Diagramm für das Regressionsmodell.
Beispiel:
from sklearn . datasets import make_regression
from edamame . regressor import TrainRegressor
import pandas as pd
import edamame . eda as eda
from edamame . regressor import RegressorDiagnose
X , y = make_regression ( n_samples = 1000 , n_features = 5 , n_targets = 1 , random_state = 42 )
X = pd . DataFrame ( X , columns = [ "f1" , "f2" , "f3" , "f4" , "f5" ])
y = pd . DataFrame ( y , columns = [ "y" ])
X_train , y_train , X_test , y_test = eda . setup ( X , y )
X_train_s = eda . scaling ( X_train )
X_test_s = eda . scaling ( X_test )
regressor = TrainRegressor ( X_train_s , y_train , X_test_s , y_test )
rf = regressor . random_forest ()
regressor . model_metrics ()
diagnose = RegressorDiagnose ( X_train_s , y_train , X_test_s , y_test )
diagnose . random_forest_fi ( model = rf )
diagnose . prediction_error ( model = rf )
Klassifikatormodul
from edamame . classifier import TrainClassifier
Die Train -Classifier -Klasse ist so konzipiert, dass sie als Pipeline zum Training und zur Behandlung von Klassifizierungsmodellen verwendet werden kann.
Die Klasse bietet verschiedene Methoden zum Anpassung verschiedener Regressionsmodelle, Computermodellmetriken, Speichern und Lademodellen und mithilfe von Automl, um das beste Modell basierend auf Leistungsmetriken auszuwählen. Diese Methoden umfassen:
- Logistisch : Passt ein logistisches Modell in die Trainingsdaten.
- GAUSSIAN_NB : Passt ein Gaußsina Naive Bayes -Modell in die Trainingsdaten.
- KNN : Passt ein k-nearestes Nachbar-Klassifizierungsmodell für die Trainingsdaten.
- Baum : Passt ein Entscheidungsbaumklassifizierungsmodell für die Trainingsdaten.
- Random_forest : passt zu einem zufälligen Waldklassifizierungsmodell in die Trainingsdaten.
- XGBOOST : passt zu einem Xgboost -Klassifizierungsmodell in die Trainingsdaten.
- SVM : Passt ein Support -Vektor -Klassifizierungsmodell für die Trainingsdaten.
- AUTO_ML : Verwendet Automl, um das beste Modell basierend auf Leistungsmetriken auszuwählen.
- Modell_Metrics : Berechnet und druckt die Leistungsmetriken für jedes geschulte Modell.
- SAVE_MODEL : Speichert das geschulte Modell in einer Datei.
Nach dem Speichern eines Modells mit der Save_Model -Methode können wir das Modell mithilfe der Funktion load_model des EDA -Moduls hochladen und seine Leistung auf neuen Daten mithilfe der Funktion classifier_metrics bewerten.
from edamame . classifier import classifier_metrics
Beispiel:
from edamame . classifier import TrainClassifier
from sklearn import datasets
import edamame . eda as eda
iris = datasets . load_iris ()
X = iris . data
X = pd . DataFrame ( X , columns = iris . feature_names )
y = iris . target
y = pd . DataFrame ( y , columns = [ 'y' ])
X_train , y_train , X_test , y_test = eda . setup ( X , y )
X_train_s = eda . scaling ( X_train )
X_test_s = eda . scaling ( X_test )
classifier = TrainClassifier ( X_train_s , y_train , X_test_s , y_test )
models = classifier . auto_ml ()
svm = classifier . svm ()
classifier . model_metrics ( model_name = "svm" )
classifier . save_model ( model_name = "svm" )
svm_upload = eda . load_model ( path = "svm.pkl" )
classifier_metrics ( svm_upload , X_train_s , y_train )
Todos
- Fügen Sie das Notizbuch für EDA in ein Klassifizierungsproblem zum Edamame-Notebook-Repository hinzu.
- Fügen Sie das Notizbuch zum Training/Diagnose von Klassifizierungsmodellen zum Edamame-Notebook-Repository hinzu.
- Fügen Sie die ROCAUC -Methode zur Klassifizierungsklasse hinzu.
- Beispiel Notizbücher aktualisieren.