Исходный размер 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
Анализ данных на примере Mushroom Dataset
Проект создан 08.10.2024