Deepchecks и W&B сотрудничали, чтобы создать интегрированный опыт отслеживания экспериментов и проверки машинного обучения. Это делается путем запуска наборов тестов deepchecks и регистрации результатов в W&B. Вот как:
Проверка модели машинного обучения, особенно в производственной среде, всегда была одной из самых сложных подтем в исследованиях машинного обучения. Написание тестов для моделей машинного обучения является сложной задачей и должно учитывать множество аспектов, как в данных, так и в самой модели, что может быть очень утомительным.
Deepchecks (https://github.com/deepchecks/deepchecks ⭐️) — это пакет Python с открытым исходным кодом для всесторонней проверки ваших моделей машинного обучения и данных с минимальными усилиями. Сюда входят проверки, связанные с различными типами проблем, такими как производительность модели, целостность данных, несоответствие распределения и многое другое.
В последнем выпуске (0.5.0) глубокие проверки поддерживают отслеживание результатов пакета с помощью Weights & Biases. Чтобы дать вам некоторый контекст, Weights & Biases помогает вам отслеживать ваши эксперименты по машинному обучению. Вы можете использовать этот инструмент для регистрации выходных показателей ваших прогонов, а затем визуализировать и сравнивать результаты и быстро делиться результатами с коллегами.
В этом руководстве мы рассмотрим пример отправки вывода набора глубоких проверок в W&B.
Во-первых, давайте установим пакет deepchecks.
pip install deepchecks
После завершения установки мы подготовим наборы для обучения и тестирования вместе с моделью. В этом уроке мы будем использовать тот же пример из документации deepchecks, используя набор данных Iris:
# General imports import pandas as pd import numpy as np from deepchecks.datasets.classification import iris from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split # Load Data iris_df = iris.load_data(data_format='Dataframe', as_train_test=False) label_col = 'target' df_train, df_test = train_test_split(iris_df, stratify=iris_df[label_col], random_state=0) # Train Model rf_clf = RandomForestClassifier() rf_clf.fit(df_train.drop(label_col, axis=1), df_train[label_col]) from deepchecks import Dataset # We explicitly state that this dataset has no categorical features, otherwise they will be automatically inferred # If the dataset has categorical features, the best practice is to pass a list with their names ds_train = Dataset(df_train, label=label_col, cat_features=[]) ds_test = Dataset(df_test, label=label_col, cat_features=[])
После того, как мы подготовили наборы данных, мы импортируем полный набор и запустим его:
from deepchecks.suites import full_suite suite = full_suite() suite_result = suite.run(ds_train, ds_test, rf_clf)
Теперь все результаты набора тестов рассчитаны, и последним шагом будет их отправка в Weight&Biases:
suite_result.to_wandb()
И все!
Давайте немного рассмотрим, как результаты отслеживаются внутри W&B:
Мы видим, что каждая проверка содержится в разделе на панели инструментов W&B, что позволяет нам сравнивать разные прогоны. Таким образом, мы можем легко сравнить модели и выбрать лучшую.
Дальнейшие шаги
Вы должны попытаться разветвить эту записную книжку, чтобы узнать больше, интегрировать ее с вашим набором данных и попытаться сравнить различные результаты с W&B. Удачи!