Ценовой анализ автомобильных аукционов
Визуализация данных - неотъемлемая часть науки о данных. При эффективном использовании он ускоряет и улучшает процесс исследовательского анализа данных. Визуализации также помогают донести сообщение до аудитории или проинформировать ее о своих выводах.
Не существует универсального метода визуализации, поэтому для некоторых задач требуются разные виды визуализаций. В этой статье мы научимся использовать визуализацию данных для изучения и понимания набора данных.
Ggplot2 - это пакет визуализации данных в tidyverse, коллекции пакетов R для науки о данных.
В качестве примеров мы будем использовать набор данных об автомобилях, проданных на аукционах в США. Начнем с чтения набора данных.
> library(dplyr) > library(ggplot2) > auction <- read_csv("~/Downloads/datasets/auction_cars.csv") > auction <- select(auction, price:color) > auction <- filter(auction, mileage < 500000)
Dplyr - это пакет для обработки данных в коллекции tidyverse. Я выбрал только некоторые столбцы для простоты, используя функцию выбора dplyr. Я также отфильтровал выбросы на основе столбца пробега, исключив автомобили с пробегом более 500 тыс.
Мы можем создать диаграмму рассеяния, чтобы визуализировать взаимосвязь между пробегом и ценой. Также разделим машины с чистыми и аварийными названиями.
> ggplot(auction) + geom_point(mapping = aes(x=mileage, y=price, color=title_status))
Функция ggplot создает пустой график. Данные передаются в функцию ggplot. На втором этапе на график добавляется новый слой на основе заданных сопоставлений и типа графика. Функция geom_point создает диаграмму рассеяния. Столбцы для построения графика указываются в методе aes.
Важно ознакомиться с этой структурой синтаксиса. Как вы увидите в следующих примерах, мы создадим разные визуализации, используя одну и ту же структуру. Изменения коснутся типа сюжета, столбцов и некоторой эстетики.
Вот сгенерированный сюжет.
По мере увеличения пробега цена имеет тенденцию к снижению, как и ожидалось. Влияние пробега на цену более заметно на автомобилях с чистыми названиями, чем на второстепенных.
Возможно, мы захотим проверить распределение цен. Один из способов - создать гистограмму, которая делит диапазон значений на дискретные ячейки и подсчитывает количество точек данных (то есть строк) в каждой ячейке.
> ggplot(auction) + geom_histogram(mapping = aes(x=price, color=title_status), bins=15, fill='white', position='dodge')
Параметр бункеров регулирует количество бункеров. Параметр позиции установлен как «уклонение» для отображения полос разных категорий в столбце title_status бок о бок. Наконец, параметр заливки определяет цвет полос.
Другой метод проверки распределения - использование ящичной диаграммы. Он показывает, как значения распределяются с помощью квартилей и выбросов. Давайте создадим коробчатую диаграмму цен для трех разных брендов.
> brands <- filter(auction, brand %in% c("ford","bmw","jeep")) > ggplot(brands) + geom_boxplot(mapping = aes(x=brand, y=price), fill='lightblue')
Сначала мы отфильтровали автомобили марок Ford, Bmw или Jeep. Затем столбцы марки и цены используются для построения коробчатой диаграммы.
Bmw в целом дороже двух других марок. Цены на автомобили BMW также более разбросаны. Автомобили Jeep, кажется, сжаты в меньшем ценовом диапазоне. Точки над рамкой Ford представляют выбросы с очень высокими ценами по сравнению с большинством.
Другой часто используемый тип визуализации - это гистограмма, которая дает обзор распределения дискретной переменной. Он показывает количество точек данных для каждого дискретного значения.
Например, мы можем создать гистограмму для автомобилей, выпущенных нами после 2010 года.
> ggplot(filter(auction, year > 2010)) + geom_bar(mapping = aes(x=year)) + scale_x_discrete(limits = c(2011:2020))
Вместо использования всего фрейма данных мы передали его отфильтрованную версию функции ggplot. Функция scale_x_discrete используется для настройки отметок на оси x.
В наборе данных преобладают автомобили 2019 года. Мы наблюдаем тенденцию к снижению количества автомобилей с возрастом.
Заключение
Мы рассмотрели некоторые из распространенных типов визуализации. Их можно применить к любому набору данных в табличной форме.
Важными критериями при выборе подходящего типа визуализации являются характеристики данных (например, дискретные или непрерывные) и отношения между столбцами.
Библиотека ggplot2 предоставляет гораздо больше типов и опций визуализации для настройки визуализаций. Преимущество ggplot2 в том, что синтаксис для создания различных графиков соответствует стандартному синтаксису с небольшими изменениями. Это облегчает изучение библиотеки.
Спасибо за чтение. Пожалуйста, дайте мне знать, если у вас есть какие-либо отзывы.