Что такое исследовательский анализ данных?
Исследовательский анализ данных (EDA) — это метод исследования данных, позволяющий понять различные аспекты данных. Он включает в себя несколько техник, которым нужно следовать. Перед выполнением EDA данные должны быть очищены и не должны иметь избыточности, пропущенных значений и нулевых значений, мы должны определить важные переменные в данных. Мы должны определить ключевые моменты после каждого шага в жизненном цикле обработки модели.
Цель исследовательского анализа данных (EDA):
Основным мотивом EDA является фильтрация данных от избыточности, таких как нулевые данные, отсутствующие значения, ненужные данные и т. д. Это помогает нам определить неисправные точки, что помогает уменьшить количество ненужных данных и помогает нам очистить данные. Это помогает нам определить взаимосвязь между переменными, что дает нам более широкий взгляд на данные.
Шаги, связанные с EDA:
Понимание данных:
Мы должны понимать, с какими данными мы работаем. Мы должны знать переменные, количество столбцов, строк.
Очистить данные:
Мы должны удалить ненужные данные, такие как нулевые значения, отсутствующие значения, выбросы, которые вызывают шум, поскольку они вызывают недостаточное соответствие моделей переобучения.
Проанализируйте взаимосвязь между переменными:
Мы должны найти ключевые переменные и их связь с данными. Поскольку ключевые переменные дают истинное значение для модели.
Одномерный, двумерный и многомерный анализ:
Это первый и основной шаг, который мы выполняем в EDA. Это помогает нам лучше понять данные, помогает нам анализировать данные и помогает двигаться по правильному пути для завершения модели.
Пример:
Рассмотрим данные с весом высоты и выводом в виде столбцов.
Выходной вес высоты
199 см 89 толстый
162см 52 худощавый
169см 78 подходят
190см 90 подходят
185 см 82 стройный
Одномерный:
Здесь мы выбираем только одну функцию и на ее основе определяем, какой будет результат. Это помогает нам создавать гистограммы.
Здесь мы взяли функцию веса и провели одномерный анализ.
Это классифицирует вес как худощавый и тучный.
У него проблема с перекрытием.
Двумерный анализ:
Здесь мы берем две функции из данных и проводим анализ. Из приведенного выше примера набора данных мы берем рост и вес для проведения анализа.
У него проблема с перекрытием. Используя это, мы можем узнать, какой алгоритм машинного обучения можно использовать для классификации этих точек.
Что, если у нас будет больше функций, мы не сможем увидеть 4D или более многомерное представление.
Пример:
Предположим, что у нас есть DOB (дата рождения) в качестве дополнительного столбца вместе с приведенным выше примером, чтобы представить такого рода проблемы, мы используем многомерный анализ.
Многофакторный анализ:
При этом используется библиотека Seaborn, в которой есть функция Pairplot, которая строит графики с использованием всех отдельных функций и группирует все графики в один. Он использует более двух переменных или функций для выполнения анализа.
На приведенном выше изображении, если мы видим, что график между одними и теми же переменными дает график гистограммы, этот график гистограммы дает кривую, которая называется кривой колокола.
Изображение выше также приводит к корреляции. Если возраст увеличивается, рост увеличивается, что дает положительную корреляцию. Если возраст увеличивается, а рост уменьшается, то это дает отрицательную корреляцию. Когда возраст и рост никак не связаны, корреляция равна 0. Максимальное значение корреляции находится в диапазоне от -1 до +1. Это помогает нам определить, какой алгоритм будет использоваться в модели.
В многомерном анализе мы можем отображать только целочисленные значения, но не можем отображать категориальные признаки. Он может классифицировать категориальные признаки.
Гистограмма в EDA:
Когда мы видим только функцию веса
Это помогает нам найти в определенном диапазоне, сколько точек находится в определенном диапазоне. На основе этого будет построена гистограмма.
Для построения гистограммы можно использовать только одну переменную.
Кривая называется кривой колокола, которая также является функцией плотности вероятности. Это помогает нам определить, является ли это нормальным распределением или нет.
Функция плотности вероятности:
Сглаживание графика гистограммы дает PDF, он использует две функции для построения графика. Значения по оси Y представляют собой процент распределения, значение не может превышать 1 или 100%.
На приведенном выше рисунке значение 0,1 определяет процент распределения в диапазоне от 60 до 70.
Кумулятивная функция распределения (CDF):
Он построен по PDF, где кривая увеличивается до определенной степени, становится плоской и идет непрерывно.
На приведенном выше рисунке 0,1 говорит о том, что 10% распределения присутствует в этом диапазоне, а при 0,2 мы должны суммировать 0,2 с 0,1, так что будет 0,3, то есть 30% распределения.
Процентили и квантили:
Если мы рассмотрим набор данных размером 10 по высоте {170 150, 160, 120, 130, 140, 180, 189, 145, 155}, он не будет отсортирован. Если вы хотите найти процентили, нам нужно отсортировать данные.
Отсортированная высота {120, 130, 140, 145, 150, 155, 160, 170, 180, 189} средний член в приведенных выше данных - 5-й член, 5-й член - 50-й процентиль 50% значений меньше и 50% больше, чем этот 5-й член. 9-й член - это 90-й процентиль, поэтому 90% значений меньше 9-го члена, а 10% значений выше 9-го члена.
Квантиль:
Quant означает 25. Таким образом, для каждого набора данных будет 4 квантиля. 25 % — это первый квантиль, 50 % — второй квантиль, 75 % — третий квантиль и 100 % — четвертый квантиль.
Категориальные сюжеты:
Seaborn помогает нам анализировать категориальные данные. Это можно выполнить с помощью
· Коробчатый сюжет
· Сюжет для скрипки
· Графский сюжет
· Бар Сюжет
Сюжет:
Он показывает количество наблюдений в каждом категориальном бине. Он использует гистограмму. Он использует значения x и y для построения графика.
Синтаксис:
Sns.countplot («значение x», «значение y», данные = df)
Сюжет бара:
Он использует значения x и y для построения графика. Он использует прямоугольные столбцы для представления данных. Его можно наносить как горизонтально, так и вертикально.
Синтаксис:
Sns.barplot (значение x, значение y, данные)
Коробка Сюжет:
Он использует прямоугольную рамку для представления данных. Прямоугольное поле разделено процентилями. Каждая строка в поле представляет соответствующие процентили.
Синтаксис:
Sns.boxplot (значение x, значение y, данные)
Сюжет скрипки:
Это помогает нам увидеть как распределение данных с точки зрения оценки плотности ядра, так и коробчатую диаграмму.
Синтаксис:
Sns.violinplot (значение x, значение y, данные)