Edamame
- Edamame
- Funcionalidades
- Módulo EDA
- Módulo de regressor
- Módulo Classificador
- Todos
Edamame é inspirado em pacotes como Profilitação de Pandas, PyCaret e Yellowbrick. O objetivo do Edamame é fornecer funções amigáveis para a realização de análises de dados exploratórios (EDA) nos conjuntos de dados, bem como para treinamento e análise de baterias de modelos para problemas de regressão ou classificação.
Para instalar o pacote,
O pacote Edamame funciona corretamente dentro de um Jupyter-Notebook. Você pode encontrar a documentação do pacote na página de documentação Edamame.
Funcionalidades
O pacote consiste em três módulos: EDA, que executa a análise de dados exploratórios; e regressor e classificador, que lidam com o treinamento de modelos de aprendizado de máquina para regressão e classificação, respectivamente. Para ver exemplos dos usos do pacote Edamame, você pode conferir a pasta Exemplos no repositório.
Módulo EDA
import edamame . eda as eda
O módulo EDA fornece uma ampla gama de funções para executar a análise de dados exploratórios (EDA) nos conjuntos de dados. Com este módulo, você pode explorar e manipular facilmente seus dados, realizar estatísticas descritivas, análise de correlação e preparar seus dados para o aprendizado de máquina. O módulo "EDA" oferece as seguintes funcionalidades:
Funções de exploração e manipulação de dados:
- Dimensões : a função exibe o número de linhas e colunas de um quadro de dados de pandas passadas.
- Identify_types : Identifique os tipos de dados de cada coluna.
- View_Cardinality : Veja o número de valores exclusivos em cada coluna categórica.
- modify_cardinality : modifique o número de valores exclusivos em uma coluna.
- Falta : Verifique se algum dado ausente está presente no conjunto de dados.
- Handling_missing : substitua ou remova os valores ausentes no conjunto de dados.
- Drop_columns : Remova colunas específicas do conjunto de dados.
- Num_to_categorical : a função retorna um quadro de dados com as colunas transformadas em um "objeto".
- Interação : a função exibe um gráfico interativo para analisar as relações entre colunas numéricas com um gráfico de dispersão.
- Inspeção : A função exibe um gráfico interativo para analisar a distribuição de uma variável com base nas cardinalidades distintas da variável de destino.
- SPLIT_AND_SCALING : A função retorna dois quadros de dados de pandas: a matriz de regressor X contém todos os preditores do modelo, a série Y contém os valores da variável de resposta.
Funções estatísticas descritivas:
- Descreve_Distribution : A função exibe o resultado do método descreve () aplicado a um quadro de dados de pandas, dividido por colunas numéricas e de objetos.
- plot_categorical : a função retorna uma sequência de tabelas e parcelas para as variáveis categóricas.
- plot_numérico : a função retorna uma sequência de tabelas e parcelas para as variáveis numéricas.
- NUM_VARIABLE_STUDY : ele a função exibe as seguintes transformações da variável col.
Funções de análise de correlação:
- Correlation_pearson : A função executa a correlação do Pearson entre os pares de colunas.
- Correlation_categorical : A função executa o teste do qui-quadrado de independência entre as variáveis categóricas do conjunto de dados.
- Correlation_phik : Calcule o coeficiente de correlação PHIK entre todos os pares de colunas (link de papel).
Funções úteis:
- load_model : a função carrega o modelo salvo no formato de picles.
- Configuração : a função retorna os seguintes elementos: x_train, y_train, x_test, y_test.
- Escala : a função retorna a matriz normalizada/padronizada.
- OHE : A função retorna a matriz Numpy passada como entrada, convertida usando uma codificação de um hot.
Módulo de regressor
from edamame . regressor import TrainRegressor , regression_metrics
A classe TrainRegressor foi projetada para ser usada como um pipeline para modelos de regressão de treinamento e manuseio.
A classe fornece vários métodos para ajustar diferentes modelos de regressão, calcular métricas de modelos, salvar e carregar modelos e usar o Automl para selecionar o melhor modelo com base em métricas de desempenho. Esses métodos incluem:
- Linear : se encaixa em um modelo de regressão linear para os dados de treinamento.
- LASSO : se encaixa em um modelo de regressão Lasso para os dados de treinamento.
- Ridge : se encaixa em um modelo de regressão de cume para os dados de treinamento.
- Árvore : se encaixa em um modelo de regressão de árvore de decisão para os dados de treinamento.
- Random_forest : se encaixa em um modelo de regressão florestal aleatória para os dados de treinamento.
- XGBOOST : se encaixa em um modelo de regressão XGBOOST para os dados de treinamento.
- Auto_ML : usa o Automl para selecionar o melhor modelo com base nas métricas de desempenho.
- Model_metrics : calcula e imprime as métricas de desempenho para cada modelo treinado.
- Save_model : salva o modelo treinado em um arquivo.
Depois de salvar um modelo com o método save_model , podemos fazer upload do modelo usando a função load_model do módulo EDA e avaliar seu desempenho em novos dados usando a função Regression_Metrics .
from edamame . regressor import RegressorDiagnose
A classe regressordiagnose foi projetada para diagnosticar modelos de regressão e analisar seu desempenho. A classe fornece vários métodos para diagnosticar e analisar o desempenho dos modelos de regressão. Esses métodos incluem:
- Coeficientes : calcula e imprime os coeficientes do modelo de regressão.
- Random_forest_fi : exibe o gráfico de importância do recurso para o modelo de regressão florestal aleatória.
- Random_forest_fi : exibe o gráfico de importância do recurso para o modelo de regressão XGBOOST.
- Prediction_error : calcula e imprime o erro de previsão do modelo de regressão nos dados de teste.
- residual_plot : cria e exibe um gráfico residual para o modelo de regressão.
- QQPlot : cria e exibe um gráfico QQ para o modelo de regressão.
Exemplo:
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 )
Módulo Classificador
from edamame . classifier import TrainClassifier
A classe TrainClassifier foi projetada para ser usada como um pipeline para treinamento e manuseio de modelos de clasificação.
A classe fornece vários métodos para ajustar diferentes modelos de regressão, calcular métricas de modelos, salvar e carregar modelos e usar o Automl para selecionar o melhor modelo com base em métricas de desempenho. Esses métodos incluem:
- Logística : se encaixa em um modelo logístico para os dados de treinamento.
- Gaussian_NB : se encaixa no modelo Gaussina Ingen Bayes para os dados de treinamento.
- KNN : se encaixa em um modelo de classificação dos vizinhos mais parecidos com os dados de treinamento.
- Árvore : se encaixa em um modelo de classificação de árvore de decisão para os dados de treinamento.
- Random_forest : se encaixa em um modelo aleatório de classificação florestal para os dados de treinamento.
- XGBOOST : se encaixa em um modelo de classificação XGBOOST para os dados de treinamento.
- SVM : se encaixa em um modelo de classificação de vetor de suporte para os dados de treinamento.
- Auto_ML : usa o Automl para selecionar o melhor modelo com base nas métricas de desempenho.
- Model_metrics : calcula e imprime as métricas de desempenho para cada modelo treinado.
- Save_model : salva o modelo treinado em um arquivo.
Depois de salvar um modelo com o método save_model , podemos fazer upload do modelo usando a função load_model do módulo EDA e avaliar seu desempenho em novos dados usando a função Classifier_Metrics .
from edamame . classifier import classifier_metrics
Exemplo:
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
- Adicione o notebook para EDA em um problema de classificação ao repositório Edamame-Notebook.
- Adicione o caderno para modelos de classificação de treinamento/diagnóstico ao repositório Edamame-Notebook.
- Adicione o método ROCAUC à classe ClassifierDiagnose.
- Atualizar notebooks de exemplo.