Глава 7. Визуализация данных и моделей
295
четыре из значений массива данных равны 5. Три «корзины» гистограммы (–2 ~ 0,
2 ~ 4 и 6 ~ 8) вообще пусты, поскольку ни один из элементов точек данных ни в одну
из них не попадает.
Рис. 7.4.
Гистограммы одних и тех же данных с автоматически вычисленным количеством
интервалов значений
(слева) и количеством, заданным явным образом (справа). Код,
генерирующий эти гистограммы, приведен в листинге 7.5
Возникает вопрос: а не слишком ли много интервалов значений для наших кон
кретных точек данных было создано по умолчанию? При меньшем числе интервалов
значений вероятность пустых интервалов будет меньше. Для переопределения ис
пользуемого по умолчанию эвристического алгоритма можно воспользоваться полем
296
Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
конфигурации
maxBins
и ограничить количество интервалов значений. Именно это
мы делаем во втором вызове
histogram()
в листинге 7.5, результат которого приведен
справа на рис. 7.4. Как видите, при ограничении числа интервалов значений до трех
все «корзины» оказываются непустыми.
Карты интенсивности
Карта интенсивности
(heatmap) отображает двумерный массив чисел в виде сетки
раскрашенных ячеек, цвета которых отражают относительную величину элементов
массива. Обычно для более низких значений используются более холодные цвета,
например синий и зеленый, а для более высоких — более теплые, например оран
жевый и красный. Поэтому такие графики и называются картами интенсивности
1
.
Вероятно, наиболее часто встречающийся пример карт интенсивности в глубоком
обучении — матрицы различий (см. пример irisflower в главе 3) и матрицы внимания
(см. пример dateconversion в главе 9). Для этой разновидности визуализации tfjsvis
предоставляет функцию
tfvis.render.heatmap()
.
Листинг 7.6 демонстрирует создание карты интенсивности для визуализации
вымышленной матрицы различий, включающей три класса. Значение матрицы раз
личий задается в поле
values
второго из входных аргументов. Названия классов —
метки столбцов и строк карты интенсивности, задаются в массивах
xTickLabels
и
yTickLabels
. Не путайте эти промежуточные метки с
xLabel
и
yLabel
из третьего
аргумента — метками осей координат
X
и
Y
в целом. Полученная в результате карта
интенсивности приведена на рис. 7.5.
Листинг 7.6.
Визуализация двумерных тензоров с помощью функции tfvis.render.heatmap()
На этом наш краткий обзор четырех основных поддерживаемых
tfvis.render
типов диаграмм завершается. Если в будущем вы планируете заниматься визуали
зацией данных с помощью tfjsvis, весьма вероятно, что вы часто будете их исполь
зовать. Таблица 7.1 подытоживает эти типы диаграмм, чтобы упростить вам выбор
подходящей для конкретной задачи визуализации.
1
В дословном переводе с английского — «тепловая карта». —
Примеч. пер.
Do'stlaringiz bilan baham: |