Визуализация для быстрого поиска обобщающих моделей

График aiqcboomerang визуализирует различные показатели производительности для каждого разделения (обучение, проверка, тестирование) для каждой модели в эксперименте. Когда точки трассировки модели плотно сгруппированы/точны, это означает, что модель обнаружила закономерности, которые распространяются на каждую совокупность.

🧮 Как оценить множество тюнингованных моделей

Представьте, что вы только что обучили большую группу моделей, и все они работают относительно хорошо. Как узнать, какой из них лучший на основе показателей, которые вас интересуют? Чтобы ответить на этот вопрос, вы должны начать с:

  • Прогоните необработанные прогнозы через такие функции, как sklearn.metrics.f1_score
  • Делайте это для каждого разделения/сгиба (тренировка, проверка, тест).
  • Сделайте это для каждой модели.
  • Сделайте это для каждой метрики.

На этом этапе вы можете рассчитать агрегированные показатели для каждой модели. Однако, имея всего 2 или 3 сплита, агрегированные показатели не очень полезны.

Например, если у вас есть модель, которая соответствует данным обучения и оценки с точностью 100% и 95% соответственно, но не соответствует данным с точностью до 82%, то большинство агрегированных показателей будут вводить в заблуждение. Вам пришлось бы ввести диапазон или меру стандартного отклонения, чтобы понять это, но в этот момент вы не могли бы просто посмотреть на 3 разделения самостоятельно? 🤷 Итак, вы вернулись к тому, с чего начали с таблицы необработанных данных.

Почему бы просто не визуализировать это? Если вы обучили Queue моделей с помощью AIQC, это так же просто, как:

queue.plot_performance(
    score_type:str=None,
    min_score:float=None,
    max_loss:float=None
)
  • score_type: выберите из следующих показателей для категоризации (точность‹по умолчанию›, f1, roc_auc, точность, отзыв) или количественного определения (R²‹по умолчанию›, MSE, объясненная дисперсия) .
  • Аргументы min и max действуют как пороги, которые удаляют любую модель с разделением, которое не соответствует, и изменяют размер графика, чтобы соответствовать тем, которые соответствуют.

🪃 Как вы уже догадались, он назван графиком бумеранга из-за кривых, которые он делает для каждой модели.

Причина, по которой AIQC может это сделать, заключается в том, что во время обучения Queue он автоматически генерирует показатели и графики для каждого разделения/кратности каждой модели в соответствии с Queue.analysis_type. Поэтому, когда придет время для оценки, эта информация может быть просто вызвана практикующим врачом.

🔬Интерпретация эффективности модели

Прелесть визуализации в том, что она позволяет практикующему проводить собственную неконтролируемую интерпретацию. Мы выполняем собственный анализ кластеризации, просто взглянув на график.

Быстрый взгляд и наведение курсора на график выше говорит нам, что:

  • Архитектуры справа хуже.
  • Высокопроизводительные модели слева соответствуют тренировочным данным.
  • Наиболее обобщающим является оранжевый Predictor.id==15.
  • Тем не менее, мы еще не закончили обучение. Нам нужно настроить оранжевую модель, чтобы посмотреть, сможем ли мы повысить ее производительность. Поэтому в следующий раз я взгляну на его параметры и кривую обучения, чтобы увидеть, что можно улучшить.
predictor = aiqc.orm.Predictor.get_by_id(15)
predictor.get_hyperparameters()
predictor.plot_learning_curve()

⏩ Можем ли мы получить представление раньше?

Пройдя этот цикл много раз, я решил упаковать весь опыт в панель мониторинга в реальном времени, чтобы решить следующие проблемы:

  • Добавляйте модели на график по мере их обучения.
  • Отдельный процесс для тренировочной очереди и сюжета.
  • Меняйте баллы и показатели, не вспоминая сюжет
  • Получайте гиперпараметры и другую дополнительную информацию, не запрашивая ORM вручную.
from aiqc.lab import Tracker
app = Tracker
app.start()
“📊 AIQC Tracker https://127.0.0.1:9991 📊”

Вуаля — теперь у нас есть Dash app в реальном времени на гифке в начале поста в блоге.

AIQC — это библиотека с открытым исходным кодом, написанная автором этой публикации
Пожалуйста, рассмотрите возможность поставить AIQC звезду на GitHub⭐ https://github.com/aiqc/aiqc