Исходный размер 1100x1600

Анализ данных на примере Mushroom Dataset

Введение

Для анализа был выбран датасет Mushroom Dataset с сайта kaggle.com

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

Типы графиков

Для визуализации использовались различные типы графиков, такие как: круговая диаграмма, горизонтальная гистограмма, скрипичная диаграмма, диаграммы Бокса-Уискера, диаграмма рассеяния, тепловая карта, а также диаграмма Сэнки.

При построении графиков задействованы библиотеки matplotlib, seaborn и plotly.

Разведочный анализ (EDA)

Любой анализ начинается с этапа проведения предварительного анализа данных, именуемого как Exploratory Data Analysis.

Он позволяет сделать некоторые выводы о данных, а также скорректировать вектор направления анализа. В данной задаче этап помог выбрать признаки объектов для визуализации.

Применение библиотеки Pandas

Команда df.shape помогла получить информацию о том, что датасет содержит 9 столбцов и 54035 записей.

Затем были выведены основные статистики с помощью df.describe ()

df.dtypes позволяет взглянуть на типы данных в датасете.

С помощью df.isna ().sum () мы проверяем наличие пропусков в данных.

0

Выведем, сколько уникальных значений содержится в каждом столбце.

Исходный размер 1079x394

Заметим, что в названиях некоторых столбцов встречается дефис. Это может вызвать определенные проблемы при обращении к столбцам при обработке данных. По этой причине заменим дефис символом underscore «_»

Исходный размер 1086x179

Пусть все значения в наших данных имеют числовой формат, некоторые переменные относятся к качественным. Их просто закодировали.

Для наглядности представления информации и удобства выбора столбцов таблицы для анализа создадим таблицу с описанием данных.

Исходный размер 720x281

Соответствующий код приведен в файле .ipynb

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

Исходный размер 1085x221

Графический анализ

В нашем датасете есть столбец class, который показывает, относится гриб к ядовитым (1) или съедобным (0).

Выведем соотношение классов в виде круговой диаграммы.

Исходный размер 1079x303
Исходный размер 3019x3597

Из графика заметим, что в датасете преобладают ядовитые грибы. Их на ≈ 10% больше, чем съедобных.

Выбранные цвета обусловлены главной характеристикой гриба. Так, для идентификации ядовитых грибов будем использовать зелено-лаймовый цвет, что намекает на их токсичность для человеческого организма. Для определения съедобных грибов выбран цвет хаки. Он отлично сочетается с первым выбранным цветом, носит нейтральный характер, а также как бы «намекает» пользователю, что гриб хоть и является съедобным его сначала нужно приготовить.

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

Исходный размер 1085x152
Исходный размер 2970x2282

График «тепловая карта» показывает матрицу попарной корреляции столбцов с данными. Для вычисления корреляционного коэффициента применяется критерий корреляции Спирмена. Он лучше всего подходит для описания данных, представленных в числовом формате. Напомним, что в качестве целевой переменной определяется ядовитость гриба.

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

Далее проанализируем грибы в зависимости от времени года.

Исходный размер 1077x73

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

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

Рассмотрим сравнительное количество съедобных и ядовитых грибов в зависимости от времени года.

Исходный размер 1078x50

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

Исходный размер 1078x316
Исходный размер 4170x1515

Предположим, что значения, расположенные в порядке возрастания значения, соответствуют сезонам «зима», «лето», «осень», «весна» соответственно. Тогда исходя из горизонтальной гистограммы можно сделать вывод о том, что осенью встречается больше всего грибов, причем как съедобных, так и ядовитых. Летом количество грибов несколько меньше, но больше ядовитых. Найденный весной гриб с большей вероятностью окажется съедобным, а гриб, срезанный зимой, может оказаться ядовитым или съедобным примерно в равных пропорциях.

Исходный размер 1080x233
Исходный размер 3900x2112
Исходный размер 1092x83

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

Скрипичные диаграммы показывают, что, в общем и целом, большая часть грибов имеет высоту ножки от 0 до 2 условных единиц. Если вы встретите гриб с формой шляпки «3» и высотой ножки 2 у. е., то это с большей вероятностью ядовитый гриб. С грибами, которые имеют форму шляпки «0» или «4» также нужно быть внимательными, т. к. для них большая доля встретить ядовитый экземпляр. Грибы с формой шляпки «0» и высотой ножки >1.75 у. е. лучше не собирать − они ядовиты.

Исходный размер 1082x221
Исходный размер 3058x1772

Диаграммы Бокса-Уискера, изображенные выше, показывают распределение данных. Сам «box» содержит данные, которые еще называют IQR, иначе говоря, это данные расположенные между первым и третьим квартилями.

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

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

Исходный размер 1083x220
Исходный размер 3467x2093

Диаграмма рассеяния выше позволяет понять, что съедобные грибы чаще всего имеют диаметр шляпки от 300 до 1000 у. е. и высоту ножки от чуть более нуля до 1 у. е. Также если мы найдем гриб с диаметром шляпки >1500 у. е. и высотой ножки >2.5 у. е., то это будет съедобный гриб.

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

Исходный размер 1091x763

Представим таблицу выше в виде Sankey-диаграммы.

Исходный размер 1090x238

Некоторые значения отсутствовали (их сумма равнялась нулю). Это может вызвать проблемы, т. к. в матрице будут отсутствовать значения. По этой причине заполним датафрейм недостающими нулями.

Исходный размер 1088x203

Наконец, рисуем диаграмму Сэнки.

Исходный размер 1090x785
Исходный размер 966x525

Диаграмма Sankey позволяет оценить взаимосвязь бинарной переменной с цветом стебля гриба. Благодаря ей можно выделить экземпляры, цвет стебля которых явно намекает на то, что гриб является ядовитым. Заметим, что ядовитые грибы имеют чаще всего цвет стебля «5» или «9».

Выводы

При анализе данных могут использоваться различные техники. В данной работе применялись методы библиотеки pandas языка программирования Python и проводился графический анализ с использованием библиотек matplotlib, seaborn и plotly.

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

Исходный размер 736x1085
Анализ данных на примере Mushroom Dataset
Проект создан 08.10.2024
Загрузка...
Мы используем файлы cookies для улучшения работы сайта и большего удобства его использования. Более подробную информац...
Показать больше