Эдамаме
- Эдамаме
- Функциональные возможности
- EDA модуль
- Регрессор модуль
- Классификатор модуль
- Тодос
Edamame вдохновлен такими пакетами, как Pandas-Profiling, Pycaret и Yellowbrick. Цель Edamame-предоставить удобные для пользователя функции для проведения исследовательского анализа данных (EDA) на наборах данных, а также для обучения и анализа батарей моделей для регрессии или задач классификации.
Чтобы установить пакет,
Пакет Edamame работает правильно внутри Jupyter-Notebook. Вы можете найти документацию пакета на странице Edamame-Documentation.
Функциональные возможности
Пакет состоит из трех модулей: EDA, который выполняет исследовательский анализ данных; и регрессор и классификатор, которые обрабатывают обучение моделей машинного обучения для регрессии и классификации, соответственно. Чтобы увидеть примеры использования пакета Edamame, вы можете проверить папку «Примеры» в репозитории.
EDA модуль
import edamame . eda as eda
Модуль EDA предоставляет широкий спектр функций для выполнения исследовательского анализа данных (EDA) на наборах данных. С помощью этого модуля вы можете легко исследовать и манипулировать своими данными, проводить описательную статистику, анализ корреляции и подготовить данные для машинного обучения. Модуль «EDA» предлагает следующие функции:
Функции исследования и манипуляции данных:
- Размеры : Функция отображает количество строк и столбцов, пройденного пандам.
- идентифицировать_types : идентифицируйте типы данных каждого столбца.
- view_cardinality : Просмотреть количество уникальных значений в каждом категориальном столбце.
- modify_cardinality : изменить количество уникальных значений в столбце.
- Отсутствует : Проверьте, есть ли какие -либо отсутствующие данные в наборе данных.
- HARDLING_MISSING : замените или удалите пропущенные значения в наборе данных.
- DROP_COLUMNS : Удалить конкретные столбцы из набора данных.
- num_to_categorical : функция возвращает DataFrame с столбцами, преобразованными в «объект».
- Взаимодействие : функция отображает интерактивный график для анализа отношений между численными столбцами с помощью рассеяния.
- Инспекция : Функция отображает интерактивный график для анализа распределения переменной на основе различной кардинальности целевой переменной.
- split_and_scaling : функция возвращает два пандаса данных: регрессорная матрица X содержит все предикторы для модели, серия Y содержит значения переменной ответа.
Описательные статистические функции:
- description_distribution : функция отображает результат метода descriving (), применяемый к DataFrame Pandas, разделенной на числовые и объектные столбцы.
- plot_categorical : функция возвращает последовательность таблиц и графиков для категориальных переменных.
- plot_numeric : функция возвращает последовательность таблиц и графиков для численных переменных.
- num_variable_study : функция HE отображает следующие преобразования переменной col.
Функции анализа корреляции:
- Correlation_pearson : функция выполняет корреляцию Пирсона между парами столбцов.
- Correlation_categorical : функция выполняет тест на хи-квадрат независимости между категориальными переменными набора данных.
- Correlation_phik : Рассчитайте коэффициент корреляции PHIK между всеми парами столбцов (бумажная ссылка).
Полезные функции:
- load_model : функция загружает модель, сохранившуюся в формате рассола.
- Настройка : функция возвращает следующие элементы: x_train, y_train, x_test, y_test.
- Масштабирование : функция возвращает нормализованную/стандартизированную матрицу.
- OHE : Функция возвращает массив Numpy, переданный как вход, преобразованный с использованием однопольного кодирования.
Регрессор модуль
from edamame . regressor import TrainRegressor , regression_metrics
Класс TrainRegressor предназначен для использования в качестве трубопровода для обучения и обработки регрессионных моделей.
Класс предоставляет несколько методов подгонки различных моделей регрессии, вычислительных показателей моделей, моделей сохранения и загрузки и использования Automl для выбора лучшей модели на основе метрик производительности. Эти методы включают в себя:
- Линейный : подходит для модели линейной регрессии для учебных данных.
- Лассо : подходит для регрессионной модели Лассо к данным обучения.
- Ridge : подходит для регрессионной модели хребта к данным обучения.
- Дерево : подходит для модели регрессии дерева решений к данным обучения.
- random_forest : подходит для случайной регрессионной модели леса к данным обучения.
- XGBOOST : подходит для регрессионной модели XGBOOST к данным обучения.
- AUTO_ML : использует Automl, чтобы выбрать лучшую модель на основе метриков производительности.
- model_metrics : вычисляет и печатает метрики производительности для каждой обученной модели.
- save_model : сохраняет обученную модель в файл.
После сохранения модели с помощью метода SAVE_MODEL мы можем загрузить модель, используя функцию LOAD_MODEL модуля EDA и оценить ее производительность на новых данных, используя функцию regression_metrics .
from edamame . regressor import RegressorDiagnose
Класс регресс -диагностики предназначен для диагностики регрессионных моделей и анализа их эффективности. Класс предоставляет несколько методов диагностики и анализа эффективности регрессионных моделей. Эти методы включают в себя:
- Коэффициенты : вычисляет и печатает коэффициенты регрессионной модели.
- random_forest_fi : отображает график важности функции для модели регрессии случайных лесов.
- random_forest_fi : отображает график важности функции для модели регрессии XGBOOST.
- Prediction_error : вычисляет и печатает ошибку прогнозирования регрессионной модели на тестовых данных.
- ROTEIAL_PLOT : создает и отображает остаточный график для регрессионной модели.
- QQPLOT : создает и отображает график QQ для регрессионной модели.
Пример:
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 )
Классификатор модуль
from edamame . classifier import TrainClassifier
Класс TrainClassifier предназначен для использования в качестве трубопровода для обучения и обработки моделей клазификации.
Класс предоставляет несколько методов подгонки различных моделей регрессии, вычислительных показателей моделей, моделей сохранения и загрузки и использования Automl для выбора лучшей модели на основе метрик производительности. Эти методы включают в себя:
- Логистика : подходит для логистической модели для обучающих данных.
- Gaussian_nb : подходит для модели Гауссина наивного байеса для учебных данных.
- KNN : подходит для классификационной модели K-ближайших соседей в учебные данные.
- Дерево : подходит для модели классификации дерева решений к данным обучения.
- random_forest : подходит к модели классификации случайной леса к данным обучения.
- XGBOOST : подходит для классификационной модели XGBOOST к данным обучения.
- SVM : подходит для модели классификации поддержки векторного вектора для учебных данных.
- AUTO_ML : использует Automl, чтобы выбрать лучшую модель на основе метриков производительности.
- model_metrics : вычисляет и печатает метрики производительности для каждой обученной модели.
- save_model : сохраняет обученную модель в файл.
После сохранения модели с помощью метода SAVE_MODEL мы можем загрузить модель, используя функцию LOAD_MODEL модуля EDA и оценить ее производительность на новых данных, используя функцию classifier_metrics .
from edamame . classifier import classifier_metrics
Пример:
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 )
Тодос
- Добавьте ноутбук для EDA в задачу классификации в репозиторий Edamame-Notebook.
- Добавьте ноутбук для обучения/диагностики моделей классификации в репозиторий Edamame-Notebook.
- Добавьте метод Rocauc в класс ClassififierDiAgnose.
- Обновить примеры ноутбуков.