Эта история предназначена для всех студентов, которые хотят понять данные визуально. Здесь я беру набор данных о продажах от Kaggle. Если вы действительно не знаете о kaggle на данный момент, я также напишу что-нибудь об этом в другой истории или просто погуглите. (https://www.kaggle.com/ashishtuteja/eda-sales-prediction/)

Используемая библиотека: Matplotlib, seaborn, Pandas

Шаг 1: Импорт библиотек

Мы можем использовать Блокнот, а также любой редактор Python, такой как pycharm. Здесь я использую блокнот

Шаг 2:

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

Шаг 3 :

Импортируйте свой набор данных, используя метод read_csv pandas, если у вас есть данные в excel, используйте метод read_excel.

Шаг 4:

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

Глядя на снимок, мы можем сказать, что есть несколько числовых столбцов, а также категориальные столбцы. Также у нас есть несколько NAN. Мы также будем отображать все это визуально, но это даст нам начальное представление о наших данных.

Шаг 5:

Проверьте все уникальные типы данных в этом фрейме данных

Он показывает, что он имеет inti, float, object (аннотацию O) в качестве типов столбцов. Таким образом, «O» означает нечисловые данные, а int, float означает числовые данные.

Шаг 6: Получите список числовых и нечисловых столбцов

Шаг 7:

Понимание числовых признаков с помощью метода description(). Он сообщит нам среднее значение(), т.е. среднее, медиану(), т.е. среднее, и режим(), т.е. наиболее частое.

Наблюдение:

  1. Количество — сообщает нам, что некоторые функции имеют пустые значения, а также общее количество строк или наборов данных составляет 1460.
  2. В некоторых функциях максимальные и минимальные значения намного выше и ниже средних значений, что означает, что они также имеют выбросы. Выбросы присутствуют в некоторых столбцах, таких как LotArea, BsmtFinSF1 и т. д. Выбросы не означают, что это ненужное значение, оно может быть ненужным, но также может быть полезным.
    # Поэтому, прежде чем удалять или изменять эти выбросы. Требуется дополнительный анализ
  3. 70 значений процентиля несколько близки к среднему значению, это означает, что 70% значений находятся в нормальном распределении (обсудим позже)
  4. Значения некоторых функций намного выше, чем у других, это означает, что функции с большими значениями могут влиять на функции с низкими значениями, поэтому нам также необходимо масштабирование функций. например, если некоторые столбцы имеют такие значения, как 0,1,0,2, а другие функции имеют значения, такие как 10000,10005, то функция с более высокими значениями снизит важность функции с более низкими значениями. Поэтому очень важно выполнить масштабирование функции, чтобы привести все значение к тот же размер.

Шаг 8:

Поймите зависимую переменную, так как мы прогнозируем цену продажи, поэтому «Цена продажи» станет нашей зависимой функцией для этой проблемы.

Давайте создадим график распределения продажной цены. График распределения расскажет нам, какое количество наборов данных лежит в некотором диапазоне, например. 5 домов находятся в диапазоне от 100000 до 120000, а 8 домов находятся в диапазоне от 150000 до 200000. Эти цифры могут быть построены с использованием графика распределения, как показано ниже.

Мы можем видеть линию между барами, которая называется линией распределения Гаусса или кривой Белла. Он рисуется внутренне с использованием функции распределения вероятностей.

Это легко заметить на графике, который тянется с правой стороны, т.е. асимметрия. Асимметрия означает степень искажения от симметричного распределения. При симметричном распределении значение асимметрии лежит в пределах от -0,5 до 0,5. Здесь у нас асимметрия +1,8, это означает, что асимметрия правильная.

Куртозис сообщает вам высоту и резкость центрального пика по сравнению со стандартной кривой нормального распределения.

Шаг 9:

Универсальный анализ - это означает индивидуальный анализ функции. Это помогает нам понять характер данных для конкретной функции.

Лучше всего строить гистограммы.

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

Шаг 10:

Двумерный анализ —

Бивариат означает анализ одного признака с другими.

Давайте проанализируем эти независимые функции с помощью зависимой переменной, т.е. цены продажи.

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

Отрицательная корреляция означает, что увеличение значения зависимой переменной уменьшит зависимую переменную.

Положительная корреляция означает, что увеличение значения зависимой переменной также увеличивает значение зависимой переменной.

Значение корреляции лежит в пределах от -1 до 1

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

Шаг 11:

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

Тепловая карта является лучшим вариантом для выполнения этой работы. Это даст нам все корреляции между различными функциями на одном графике.

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

Используя это, мы можем легко увидеть корреляцию между ценой продажи и другими независимыми функциями, как мы это делали на предыдущем шаге. Мы можем визуализировать то же самое здесь. Примечание. OveGrallQual, TotalBsmtSF, 1stFlrSF тесно связаны с продажной ценой

Также мы можем использовать это для проверки корреляции между различными независимыми функциями. Например. GarageCars и Garage area, кажется, взаимосвязаны друг с другом, что является случаем мультиколлинеарности, т. е. проверьте корреляцию между ними на 88%. Поэтому во время прогнозирования нам нужно удалить одну функцию из нашего списка объектов.

Шаг 12:

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

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

Шаг 13:

Анализ выбросов. Коробчатая диаграмма - лучший вариант для дальнейшего анализа выбросов.

используйте эту ссылку, чтобы понять блок-графики. Блочные диаграммы можно строить на одной фигуре, используя морские подграфики, вместо того, чтобы делать это снова и снова. Это даст вам легкость проанализировать все за один раз.

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

## Observation
# There are some outliers which doesnot lie between Q1-1.5*IQR and Q3+1.5*IQR
Note: IQR means Inter-quartile range . Check link for better understanding

Шаг 14:

Сначала мы также проверили, что в нашем наборе данных есть некоторые пропущенные значения. Теперь мы можем легко это визуализировать.

Библиотека «missingno» действительно полезна для этого. позвольте проверить, как он используется

Белые линии на графике ниже показывают пустые значения.

Дополнительный анализ асимметрии и курта

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

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

Последний:

Давайте проверим категориальные переменные

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

Постройте график подсчета для каждой функции и проанализируйте его.

Здесь нельзя добавить весь сюжет. Поэтому я добавил только образец.

Для выбора категориальных признаков мы можем использовать алгоритм selectk best. Я напишу другую историю для того же.

Надеюсь, это действительно поможет вам, ребята!

Пожалуйста, хлопайте, если вам это действительно нравится.