Edamame
- Edamame
- Fonctionnalités
- Module EDA
- Module régresseur
- Module de classificateur
- Todos
Edamame est inspiré de forfaits tels que Pandas Profiling, Pycaret et Yellowbrick. L'objectif d'Edamame est de fournir des fonctions conviviales pour effectuer une analyse des données exploratoires (EDA) sur les ensembles de données, ainsi que pour la formation et l'analyse des batteries de modèles pour les problèmes de régression ou de classification.
Pour installer le package,
Le package Edamame fonctionne correctement dans un livre de jupyter-note. Vous pouvez trouver la documentation du package sur la page de documentation Edamame.
Fonctionnalités
Le package se compose de trois modules: EDA, qui effectue une analyse exploratoire des données; et le régresseur et le classificateur, qui gèrent respectivement la formation des modèles d'apprentissage automatique pour la régression et la classification. Pour voir des exemples des utilisations du package Edamame, vous pouvez consulter le dossier Exemples dans le référentiel.
Module EDA
import edamame . eda as eda
Le module EDA fournit une large gamme de fonctions pour effectuer une analyse des données exploratoires (EDA) sur les ensembles de données. Avec ce module, vous pouvez facilement explorer et manipuler vos données, effectuer des statistiques descriptives, une analyse de corrélation et préparer vos données à l'apprentissage automatique. Le module "EDA" offre les fonctionnalités suivantes:
Fonctions d'exploration et de manipulation des données:
- Dimensions : La fonction affiche le nombre de lignes et de colonnes d'un Pandas DataFrame passé.
- identifier_types : identifier les types de données de chaque colonne.
- View_Cardinality : Voir le nombre de valeurs uniques dans chaque colonne catégorielle.
- Modify_Cardinality : modifiez le nombre de valeurs uniques dans une colonne.
- Missing : Vérifiez si des données manquantes sont présentes dans l'ensemble de données.
- handling_missing : remplacer ou supprimer les valeurs manquantes dans l'ensemble de données.
- drop_columns : supprimez des colonnes spécifiques de l'ensemble de données.
- num_to_categorical : la fonction renvoie un dataframe avec les colonnes transformées en un "objet".
- Interaction : La fonction affiche un tracé interactif pour analyser les relations entre les colonnes numériques avec un diagramme de dispersion.
- Inspection : La fonction affiche un tracé interactif pour analyser la distribution d'une variable basée sur les cardinalités distinctes de la variable cible.
- Split_and_scaling : la fonction renvoie deux pandas dataframes: la matrice du régresseur X contient tous les prédicteurs du modèle, la série y contient les valeurs de la variable de réponse.
Fonctions des statistiques descriptives:
- décrire_distribution : la fonction affiche le résultat de la méthode décrivante () appliquée à un pandas dataframe, divisé par des colonnes numériques et d'objets.
- PLOT_CATEGORICAL : La fonction renvoie une séquence de tables et de parcelles pour les variables catégorielles.
- Plot_numerical : La fonction renvoie une séquence de tables et de parcelles pour les variables numériques.
- num_variable_study : la fonction affiche les transformations suivantes de la variable col transmise: log (x), sqrt (x), x ^ 2, box-cox, 1 / x.
Fonctions d'analyse de corrélation:
- Correlation_pearson : La fonction effectue la corrélation de Pearson entre les paires de colonnes.
- Correlation_Categorical : La fonction effectue le test du chi carré d'indépendance entre les variables catégorielles de l'ensemble de données.
- Correlation_phik : Calculez le coefficient de corrélation PHIK entre toutes les paires de colonnes (lien papier).
Fonctions utiles:
- LOAD_MODEL : La fonction charge le modèle enregistré dans le format Pickle.
- Configuration : la fonction renvoie les éléments suivants: x_train, y_train, x_test, y_test.
- Échelle : la fonction renvoie la matrice normalisée / standardisée.
- OHE : La fonction renvoie le tableau Numpy transmis en entrée, converti à l'aide d'un codage à un hot.
Module régresseur
from edamame . regressor import TrainRegressor , regression_metrics
La classe Trainregressor est conçue pour être utilisée comme pipeline pour la formation et la manipulation des modèles de régression.
La classe fournit plusieurs méthodes pour ajuster différents modèles de régression, calcul des métriques, des modèles de sauvegarde et de chargement et à l'aide de Automl pour sélectionner le meilleur modèle en fonction des métriques de performances. Ces méthodes comprennent:
- linéaire : correspond à un modèle de régression linéaire aux données d'entraînement.
- Lasso : s'adapte à un modèle de régression de Lasso aux données de formation.
- Ridge : s'adapte à un modèle de régression de la crête aux données de formation.
- Arbre : correspond à un modèle de régression de l'arbre de décision aux données de formation.
- Random_forest : s'adapte à un modèle de régression forestière aléatoire aux données de formation.
- XGBOost : s'adapte à un modèle de régression XGBOost aux données de formation.
- AUTO_ML : utilise Automl pour sélectionner le meilleur modèle en fonction des métriques de performances.
- Model_Metrics : calcule et imprime les mesures de performances pour chaque modèle formé.
- Save_Model : enregistre le modèle formé à un fichier.
Après avoir enregistré un modèle avec la méthode Save_Model , nous pouvons télécharger le modèle à l'aide de la fonction LOAD_MODEL du module EDA et évaluer ses performances sur de nouvelles données à l'aide de la fonction Regression_Metrics .
from edamame . regressor import RegressorDiagnose
La classe Regressordiagnosk est conçue pour diagnostiquer les modèles de régression et analyser leurs performances. La classe fournit plusieurs méthodes pour diagnostiquer et analyser les performances des modèles de régression. Ces méthodes comprennent:
- Coefficients : calcule et imprime les coefficients du modèle de régression.
- Random_forest_fi : affiche le tracé d'importance de fonctionnalité pour le modèle de régression forestière aléatoire.
- Random_forest_fi : affiche le tracé d'importance de fonctionnalité pour le modèle de régression XGBOost.
- Prediction_error : calcule et imprime l'erreur de prédiction du modèle de régression sur les données de test.
- résiduel_plot : crée et affiche un tracé résiduel pour le modèle de régression.
- QQPLOT : Crée et affiche un tracé QQ pour le modèle de régression.
Exemple:
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 )
Module de classificateur
from edamame . classifier import TrainClassifier
La classe TrainClassifier est conçue pour être utilisée comme pipeline pour la formation et la gestion des modèles de clasification.
La classe fournit plusieurs méthodes pour ajuster différents modèles de régression, calcul des métriques, des modèles de sauvegarde et de chargement et à l'aide de Automl pour sélectionner le meilleur modèle en fonction des métriques de performances. Ces méthodes comprennent:
- Logistique : correspond à un modèle logistique aux données de formation.
- Gaussian_NB : s'adapte à un modèle de Gaussina Naive Bayes aux données de formation.
- KNN : s'adapte à un modèle de classification des voisins le plus à la K-Deeare aux données de formation.
- Arbre : correspond à un modèle de classification des arbres de décision aux données de formation.
- Random_forest : s'adapte à un modèle de classification forestier aléatoire aux données de formation.
- XGBOost : s'adapte à un modèle de classification XGBOost aux données de formation.
- SVM : s'adapte à un modèle de classification des vecteurs de support aux données de formation.
- AUTO_ML : utilise Automl pour sélectionner le meilleur modèle en fonction des métriques de performances.
- Model_Metrics : calcule et imprime les mesures de performances pour chaque modèle formé.
- Save_Model : enregistre le modèle formé à un fichier.
Après avoir enregistré un modèle avec la méthode Save_Model , nous pouvons télécharger le modèle à l'aide de la fonction LOAD_MODEL du module EDA et évaluer ses performances sur de nouvelles données à l'aide de la fonction Classifier_Metrics .
from edamame . classifier import classifier_metrics
Exemple:
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
- Ajoutez le cahier pour EDA dans un problème de classification au référentiel Edamame-notebook.
- Ajoutez le cahier pour la formation / le diagnostic de modèles de classification au référentiel edamame-notebook.
- Ajoutez la méthode Rocauc à la classe ClassifierDiagnosk.
- Mettez à jour les exemples de cahiers.