Соавторы: Линцинь Ян, Хаоран Чжан

Обзор

В этом блоге мы представим Facets. Мы будем использовать данные о пользователе, полученные через Kafka из потока фильмов и сохранив их в файле CSV, чтобы провести простую демонстрацию.

Постановка проблемы

Наборы данных, которые мы используем для обучения моделей машинного обучения, могут иметь всевозможные проблемы. Данные могут быть неточными. Он может дрейфовать со временем. Недостаточные или неточные данные по определенным группам могут привести к систематической погрешности в системе. И такие проблемы часто остаются скрытыми до обучения и тестирования модели. Некоторые даже проявляются только после того, как модель развернута и запущена в производство. И проблемы в наборах данных могут каскадно распространяться на систему до такой степени, что они усиливаются и их трудно исправить. Поэтому крайне важно, чтобы специалисты по данным имели обзор и понимание данных при построении и обучении модели. Таким образом, они будут знать, что может пойти не так или что следует протестировать перед развертыванием модели.

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

Что такое грани

Facets — это инструмент визуализации с открытым исходным кодом, который предоставляет две разные визуализации: «Обзор граней» и «Погружение граней», чтобы специалисты по данным могли понимать и анализировать наборы данных машинного обучения.

Обзор фасетов предлагает пользователям краткий обзор распределения значений функций. Это может помочь пользователям обнаруживать выбросы и сравнивать статистику по наборам данных или функциям. В то время как Facets Dive позволяет пользователям интерактивно исследовать отдельные наблюдения по различным функциям наборов данных. Таким образом, это может помочь пользователям обнаружить сбой классификатора или выявить систематические ошибки.

Попробуйте

Фасеты можно использовать прямо на веб-странице.

Facets также предоставляют API, позволяющие визуализировать набор данных в Jupyter Notebook или Google Colab. См. официальный фрагмент кода здесь. Возьмите визуализацию Facets Dive, например, сначала вам нужно загрузить свои данные с помощью панд.

Затем преобразуйте данные в формат JSON и включите их в HTML.

Затем отобразите результат.

В системе рекомендаций фильмов

Мы использовали данные о пользователях, полученные через Kafka из потока фильмов, и сохранили их в файле CSV.

Обзор аспектов

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

Погружение в грани

Используя Facets, вы можете узнать о проблемах с вашими данными на очень ранней стадии. В этой настройке рекомендации фильмов мы можем легко и быстро узнать из пользовательских данных, что возраст распределен неравномерно. Данные в основном ориентированы на людей в возрасте от 20 до 50 лет. Пол также неравномерно распределен: женщин-пользователей значительно меньше, чем мужчин. Поскольку эти данные используются для обучения системы рекомендаций фильмов, теперь мы знаем, что нам следует уделять особое внимание тому, чтобы избегать предвзятых или неточных прогнозов для пользователей женского пола или слишком старых или слишком молодых людей. Так что в следующий раз, прежде чем писать сценарии обучения, попробуйте Facets и получайте удовольствие!

Сильные стороны

  1. Дружественный интерфейс: он очень прост в использовании, просто загрузите файл и выберите соответствующие параметры.
  2. Простой код и простая настройка при использовании в Google Colabratory/Jupyter Notebooks.
  3. Интуитивно понятная визуализация: обзор фасетов напрямую отображает общую статистику о распределении данных в таблицах и соответствующих диаграммах. Facets Dive представляет каждый элемент в виде точки, что позволяет легко выявлять закономерности и выбросы.

Ограничения

  1. В настоящее время работают только в Chrome.
  2. Поддерживаются только файлы CSV.