Руководство для специалистов по данным по визуализации данных
Повысьте производительность своей визуализации данных
Использование Altair для быстрого создания потрясающих визуализаций
Большинству из нас нужно послушать музыку, чтобы понять, насколько она прекрасна. Но часто мы представляем статистику так: мы просто показываем ноты, мы не играем музыку. - Ханс Рослинг
Визуализация данных имеет первостепенное значение для понимания красоты аналитики данных. Благодаря визуализации данных наши заинтересованные стороны понимают влияние нашего анализа. Это помогает им сосредоточиться и принимать обоснованные решения.
Однако, несмотря на его важность, я получаю вопросы о том, как начинающие специалисты по данным могут начать изучать аналитику данных.
Просто, с визуализацией данных
Сила Альтаира
« Altair - это библиотека декларативной статистической визуализации для Python, основанная на Vega и Vega-Lite , исходный код которой доступен на GitHub .» - Altair Viz »
Altair - это пакет визуализации данных на Python, который основан на грамматиках Vega и Vega Lite, обновленных с учетом лучших практик визуализации.
Заявите о своих потребностях
Altair поддерживает декларативное программирование, которое позволяет создавать визуализации Altair на основе входных данных и выходных свойств. Вы будете указывать только то, что вам нужно, а не подробности о том, как достичь своей цели.
Допустим, вы хотите купить яйца.
Декларативное программирование скажет: «Найди и купи мне яйца. Вот деньги »
Тем не менее, Традиционное программирование скажет: «Иди в супермаркет Courts, пройди в 6-й проход, найди яйца в правом углу, подойди к кассе и заплати 5 долларами наличными».
Очевидно, что из этого примера декларативное программирование снимет нагрузку с «как». Точно так же с деньгами и яйцами вам нужно только передать входные данные и выходные свойства, тогда результаты визуализации будут отображаться автоматически.
Вам даже не нужно понимать, как Альтаир обрабатывает вашу визуализацию. Вы просто проинструктируете и получите результаты. В этом прелесть Альтаира - поддержка декларативного программирования.
На самом деле это совсем не иностранное. Многие языки построены на тех же концепциях. SQL (язык структурированных запросов) и Kubernetes yaml используют декларативные концепции. Dash - это также инструмент для создания веб-приложений с панелью управления на основе декларативного программирования. Оба являются важными инструментами для специалистов по обработке данных, позволяющими оптимизировать процесс извлечения данных и обработки данных.
Надеюсь, я вас взволновал !! Приступим
Компоненты Альтаира
Альтаир использовал эти компоненты в качестве основных грамматик для инструкций по визуализации:
- Данные → DataFrame для визуализации
- Отметить → Обозначения для каждой строки наблюдения (линия, полоса, отметка, точка)
- Кодировка → Канал представления данных (положение X, положение Y, цвет, размер)
- Преобразование → Преобразование данных перед применением визуализации (вычисление, фильтрация, агрегирование, сворачивание)
- Масштаб → Функция, которая вводит данные и отображает их на экране.
- Руководство → Наглядные обозначения на диаграммах (условные обозначения), отметки по осям x и y.
Запачкайте руки с Альтаиром
Блокноты Colab
В этом посте мы собираемся использовать следующий блокнот Colab.
Установки
Чтобы установить это просто, вы можете запустить pip install следующим образом
pip install altair
Данные
В нашем руководстве мы будем использовать эти наборы данных:
data.cars
: Набор данных AutoMPG из репозитория машинного обучения UCI.data.stocks
: ежедневные цены на акции закрытия (AAPL, AMZN, GOOG и т. Д.)data.seattle_weather
: Погода в Сиэтле, 2012–2015 гг.
Эти наборы данных доступны в vega_datasets, который предварительно загружен с помощью Altair в Pandas Dataframes.
Альтаир Шаг за шагом
Диаграммы
alt.Charts - это конструкция, для выполнения которой требуются данные, метка и кодировка.
alt.Charts()
Данные
Чтобы вставить данные, вы можете ввести фреймы данных в функцию Charts ().
alt.Charts(cars)
отметка
Отметка требуется для обозначения каждой строки наблюдения (линия, столбец, отметка, точка)
alt.Charts(cars).mark_tick()
Кодировать
Закодируйте представление набора данных. Вы можете использовать только 1 столбец как 1D представление, 2 столбца как 2D, 3 столбца как 3D и т. Д.
alt.Chart(cars).mark_tick().encode( encoding_1 = value_1, encoding_2 = value_2, ...... )
Все, что вам нужно - это один график
Создать один график несложно. Вы можете добавлять размеры, изменять различные обозначения на декларативном языке, как указано выше, и все это делается за вас.
Линии, столбцы, точки и многое другое!
Просто перейдите от mark_line () к mark_bar ()
Построить гистограмму очень просто!
alt.Chart(weather).mark_bar().encode( x=alt.X('date', timeUnit='month', type='nominal'), y='mean(temp_max):Q', color='weather' )
Обнаружение паттернов с помощью HeatMap
Чтобы создать тепловую карту. Вы можете просто заменить mark
notation с mark_bar()
на mark_rect().
alt.Chart(weather).mark_rect().encode( x=alt.X(‘date’, timeUnit=’date’, type=’ordinal’), y=alt.Y(‘date’, timeUnit=’month’, type=’ordinal’), color=’mean(temp_max)’, tooltip=[‘mean(temp_max)’] )
Отсюда мы можем узнать, что самая высокая температура начинается с апреля по октябрь (более темный цвет). Это соответствует засушливому сезону. Аккуратный!
Множество графиков для сравнения
Альтаир также оснащен простым языком для представления представлений нескольких графов.
Например, представьте себе диаграммы рассеяния 3x3 для диаграмм пространственного рассеяния. Все, что вам нужно, это модуль repeat.
alt.Chart(cars).mark_circle().encode( alt.X(alt.repeat("column"), type='quantitative'), alt.Y(alt.repeat("row"), type='quantitative'), color='Origin:N' ).properties( width=250, height=250 ).repeat( row=['Horsepower','Acceleration','Miles_per_Gallon'], column=['Horsepower','Acceleration','Miles_per_Gallon'] ).interactive()
Интерактивные графики для сравнения
Вы даже можете добавить взаимодействия для сравнения нескольких графиков. Например, вы можете создать выделение с помощью модуля selection
in altair.
brush = alt.selection(type='interval',resolve='global') base = alt.Chart(cars).mark_point().encode( y='Miles_per_Gallon', color=alt.condition(brush,'Origin',alt.ColorValue('lightgray')) ).properties( selection=brush, width=250, height=250 ) base.encode(x='Horsepower') | base.encode(x='Acceleration')
Вы даже можете создать анимацию, основанную на времени, используя небольшое сложное выделение. Например, вы можете применить year
в качестве критерия выбора и фильтрации.
from altair.expr import datum, if_ from vega_datasets import data pop = data.population.url pink_blue = alt.Scale(domain=(‘Male’, ‘Female’), range=[“steelblue”, “salmon”]) slider = alt.binding_range(min=1900, max=2000, step=10) year = alt.selection_single(name=”year”, fields=[‘year’], bind=slider) alt.Chart(pop).mark_bar().encode( x=alt.X(‘sex:N’, axis=alt.Axis(title=None)), y=alt.Y(‘people:Q’, scale=alt.Scale(domain=(0, 12000000))), color=alt.Color(‘sex:N’, scale=pink_blue), column=’age:O’ ).properties( width=20, selection=year, ).transform_calculate( “sex”, if_(datum.sex == 1, “Male”, “Female”) ).transform_filter( year.ref() )
Последние мысли
Альтаир позволяет очень просто строить даже сложные сюжеты. Это позволяет нам напрямую воплощать мысли в визуализации, не беспокоясь о лежащих в их основе механизмах. Удивительный диапазон простых и сложных графиков и визуализаций можно создать с минимальными усилиями. - Парул Пандей - специалист по данным H2O.ai
Точно так же я влюбился в Альтаира. Это просто, интуитивно понятно и быстро. Прошли те дни, когда я гуглил matplotlib, чтобы добавить интерактивные линии и выровнять несколько графиков вместе. Альтаир достаточно интуитивен, чтобы повысить мою продуктивность в визуализации данных.
Если вам интересно узнать больше об Альтаире, проверьте
- Эксперимент Моя практика колаб
- Введение Парула Пандея на Альтаир. Этот учебник вдохновил меня задокументировать мое собственное обучение Альтаир. Парул дает четкие представления об Альтаире. Я настоятельно рекомендую это как дополнительную ссылку.
- Официальная документация с пояснениями и примерами для изучения (Учебное пособие по Альтаиру, Примеры использования Альтаира, Галерея примеров)
Соли Део Глория
об авторе
Винсент борется со злоупотреблениями в Интернете с помощью ML @ Google. Винсент использует передовую аналитику данных, машинное обучение и разработку программного обеспечения для защиты пользователей Chrome и Gmail.
Помимо работы в Google, Винсент также является ведущим автором журнала Towards Data Science Medium, который направляет начинающих практиков машинного обучения и обработки данных с более чем 1 млн зрителей по всему миру.
В свободное время Винсент учится на степень магистра ML в Технологическом институте Джорджии и готовится к триатлону / велосипедным поездкам.
Наконец, свяжитесь с Винсентом через LinkedIn, Medium или Youtube Channel.