Визуализация для быстрого поиска обобщающих моделей
График
aiqc
boomerang визуализирует различные показатели производительности для каждого разделения (обучение, проверка, тестирование) для каждой модели в эксперименте. Когда точки трассировки модели плотно сгруппированы/точны, это означает, что модель обнаружила закономерности, которые распространяются на каждую совокупность.
🧮 Как оценить множество тюнингованных моделей
Представьте, что вы только что обучили большую группу моделей, и все они работают относительно хорошо. Как узнать, какой из них лучший на основе показателей, которые вас интересуют? Чтобы ответить на этот вопрос, вы должны начать с:
- Прогоните необработанные прогнозы через такие функции, как
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