Почему визуализация является ключевой частью машинного обучения?

Когда дело доходит до машинного обучения, самый главный шаг к получению прогнозов на основе данных — это фактически понять данные и преобразовать их в информацию. Наши чувства помогают нам получать информацию о мире. Все, что мы знаем, чувствуем и с чем взаимодействуем, приходит к нам несколькими избранными путями. Изучение нейрофизиологии человека приходит к выводу, что у нас доминирует зрение (зрительное чувство). Тридцать-сорок процентов нашей коры головного мозга посвящены зрению. Следовательно, визуальное представление — лучший способ заставить кого-то поверить и принять вашу работу.

Специалисту по данным сложно показать миру, как машина учится. Но можно указать причину выбора конкретных данных в качестве функции для обучения машины и почему машина сможет лучше всего учиться с выбранной функцией. Это можно было бы сделать, разместив простую сводную статистику и диаграммы, которые выводят некоторую корреляцию между необработанными данными. Существует множество инструментов и библиотек для такого анализа, но революционным является Elastic Stack.

Революция Elastic Stack

Эластичный стек представляет собой комбинацию Elasticsearch, Logstash и Kibana, которые преимущественно используются в качестве инструмента мониторинга журналов. С введением других важных инструментов, таких как Beats и X-Pack, он начал революционизировать мир машинного обучения. Elasticsearch является ключевым игроком в стеке, и это привело к тому, что он был переименован из стека ELK в Elastic Stack.

Elasticsearch, разработанный Шэем Бэноном, стал второй по популярности поисковой системой RESTful для предприятий. Сейчас он превращается в аналитический механизм для энтузиастов машинного обучения. Алгоритмы машинного обучения требуют огромного набора обучающих данных. Но перед выбором алгоритма необходимо провести тщательный EDA (исследовательский анализ данных). Таким образом, из визуализации необходимо получить глубокие знания для выбора функций или шаблонов. Можно избежать написания сложного кода для проверки различных визуальных интерпретаций с помощью эластичного стека. Простая загрузка и запросы помогают найти функции, что дает дополнительное время для моделирования ML. Это позволяет вам попробовать различные перестановки для выбора лучшего вычислительного алгоритма для набора данных.

Для всех, кому интересно, как поисковая система поможет в визуализации данных, здесь представлено полное пошаговое руководство по технологии.

Elasticsearch – эластичный и тонкий инструмент.

Elasticsearch хранит огромное количество данных (организованных/неорганизованных) в кластерах, где они хранятся в виде индексов. Эти индексы благодаря своей распределенной и многопользовательской архитектуре эластичного стека гарантируют, что данные хранятся в осколках с репликами, чтобы гарантировать отсутствие потери данных за счет упреждающего использования реплицированных осколков, когда к ним выполняется поисковый запрос. Он поддерживает формат запросов Lucene, который представляет собой библиотеку программного обеспечения для поиска информации с открытым исходным кодом, принадлежащую Apache. Запросы Elasticsearch и Lucene построены на Java, и основным предварительным условием стека Elastic является только среда выполнения Java. Да, вы правильно поняли, никакой другой код не требуется! Шокирует, верно? Подождите, пока придет больше.

Запросы можно выполнять для полного набора данных в любой комбинации столбцов, пока он не будет соответствовать формату Lucene. Таким образом, гарантируется, что любую информацию из столбцов можно будет легко наблюдать, как только они будут переданы в визуальный инструмент, такой как Kibana или Grafana. Можно запускать команды Curl или использовать HTTP-интерфейс Kibana для запроса этого индекса. Но что делает Elasticsearch передовым аналитическим механизмом, так это его бесшовная интеграция с инструментами приема, такими как Fluentd, Filebeats, rsyslog, Logstash, Kafka и т. д. Наиболее простым и универсальным из них является конвейер приема Logstash.

Logstash — сочетание универсальности и простоты

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

Его можно использовать для потоковой передачи данных из пожарных рукавов данных, таких как твиттер, для анализа настроений, или для раскрытия огромных возможностей мира IoT путем сбора данных с датчиков интеллектуальных домов, интеллектуальных транспортных средств и датчиков здравоохранения и обработки их на ходу. трубопровод. Возможность обработки неструктурированных данных можно реализовать повсеместно с помощью фильтра Grok. Возможность обрабатывать данные в режиме реального времени вместо того, чтобы воздействовать на исходный источник и избегать традиционного подхода извлечения, преобразования и загрузки (ETL), дает ему дополнительное преимущество в качестве средства обеспечения потоковой передачи данных. Таким образом, имея Elastic в качестве внутреннего хранилища данных и Kibana в качестве внешнего интерфейса, Logstash служит рабочей лошадкой в ​​битве, поскольку остальная часть его арсенала готова с точки зрения ввода, фильтрации, кодеков и плагина вывода.

Мы прошли через всю обработку и хранение. Но настоящий переломный момент с точки зрения визуализации еще впереди. Что ж, это лучшая часть, и это обычная практика — сохранять лучшее до конца.

Kibana – визуальное удовольствие от самых сложных вещей

Kibana был ключевым браузерным аналитическим и поисковым интерфейсом для Elasticsearch. Почти все, что предлагают библиотеки визуализации Python, такие как Seaborn или Matplotlib, можно было бы легко сделать без единой строки кода. Kibana позволяет легко добавлять несколько диаграмм в виде единой панели инструментов для сравнения огромных объемов данных. Хранение происходит быстро, а извлечение еще быстрее. Самое интересное заключается в том, что когда к источнику добавляются новые данные, ваши диаграммы или визуализация продолжают адаптироваться к ним. Данные в режиме реального времени поддерживают актуальность процедуры моделирования данных. Когда тенденции в данных в режиме реального времени меняются, их можно четко визуализировать в виде прямых трансляций.

Если картинка стоит тысячи слов, то информационная панель Kibana — не что иное, как миллион слов. Удивительные выводы из данных, которые можно отслеживать и анализировать в режиме реального времени, — это функция, которую хотели бы иметь все.

Работа с временными рядами возможна с добавлением функции Timelion (которой раньше не было). Это помогает отображать все данные, основанные на времени, на одном холсте, предоставляя поминутные изменения, через которые проходит каждый параметр. Визуальные эффекты не просто красивы, но даже чрезвычайно сильны. Обнаружение аномалий, отображение геолокации, взаимосвязь между графиками — все это показывает его экстремальные возможности. Доступны линейчатые, линейные, площадные, круговые диаграммы, тепловые карты, а также дополнительные функции, такие как Visual Builder, Timelion и Markdown, что делает этот пакет слишком хорошим, чтобы сопротивляться.

Grafana – здоровый конкурент

Теперь, когда мы понимаем значение Kibana, давайте рассмотрим другой аналогичный инструмент визуализации, который составил серьезную конкуренцию Kibana. Машинное обучение становится более интересным, когда речь идет о временных рядах. Самым популярным инструментом визуализации данных временных рядов является Grafana. Теперь возникают некоторые вопросы: зачем выбирать Grafana, когда у нас есть функция Timelion в Kibana? Что в нем такого особенного? Является ли он более значительным и привлекательным?

Ответ на эти вопросы одновременно «Да» и «Нет». С Kibana нам приходится писать запросы Lucene для построения графиков в Timelion, что может быть довольно сложно, если мы не знаем структуру запроса. В Grafana это достигается гораздо более простым способом выбора из выпадающих списков. Он также предоставляет множество параметров настройки, которые позволяют нам полностью создавать диаграммы так, как мы визуализируем их в уме. Эти параметры недоступны в Kibana? Конечно, они доступны, но пока мы не изучим формат запросов Lucene, используемых в Timelion, мы не сможем использовать эти функции в Kibana.

Если вы не слишком любите писать запросы и предпочитаете, чтобы все было просто, то Grafana — правильный инструмент для вас в случае данных временных рядов. Процесс упрощается, но не идет на компромисс с качеством продукции. Графики более привлекательны, чем мы ожидали. Он не ограничивается только временными рядами, но также может использоваться для построения других статистических диаграмм, которые предлагает Kibana.

Grafana поставляется с гораздо большим количеством настраиваемых опций, что делает ее легкой прогулкой по сравнению с Kibana. Выбор источника данных, который может быть Elasticsearch, Graphite, Prometheus и т. д., обеспечивает гибкий подход. Панель инструментов Grafana состоит из нескольких панелей. Панель — это место, где строится график. Могут быть созданы не только графики, но и другие представления данных, такие как таблицы, отдельные статистические данные, тепловая карта и т. д. Под графиками мы можем создавать гистограммы, линейные диаграммы и диаграммы с областями, как Kibana. Присутствует редактор запросов, в котором поля должны быть выбраны для графиков, а также доступна опция фильтра для их дальнейшего улучшения. Присутствует несколько вкладок, где можно установить дополнительные пользовательские функции, начиная от выбора цвета и заканчивая изменением размера. Только раздел запроса является обязательным, а все остальные необязательны.

Grafana и Kibana дают нам прекрасный опыт, когда в визуализациях отображаются все идеи данных. Эти визуализации можно использовать как для начала анализа, так и для его завершения. Если быть точным, визуализация выполняет половину работы по анализу данных, а сэкономленное время — это время, заработанное на остальной части сложного процесса.

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