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

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

Данные могут существовать в структурированной и неструктурированной формах. Структурированные данные в основном включают табличные данные, которые обрабатываются с помощью панд, тогда как неструктурированные данные могут рассматриваться как текст, аудио, визуальные данные и т. Д. Следующие блокноты Google Colab дадут вам пошаговое руководство о том, как выполнять EDA для структурированных данных. Link1 и Link2, тогда как EDA по одной из таких неструктурированных данных можно просмотреть в Link5 (EDA по звуку). EDA для текстовых, звуковых и графических данных часто завершается несколькими предварительными проверками удаления выбросов и пропущенных значений (благодаря мощи сверток, повторяющихся единиц в глубоких нейронных сетях), однако EDA для табличных данных является длительным процессом и часто требует одного обрабатывать данные через призму статистики.

Важнейшие этапы выполнения EDA для структурированных данных можно вкратце описать следующим образом:

  1. Предполагая, что у нас есть наши структурированные данные, хранящиеся в табличной структуре данных (фрейме данных), которую могут читать панды. Первый шаг часто включает в себя отображение начала и конца данных вместе с печатью формы данных.
>> import pandas as pd
>> dataframe = pd.read_csv("/path/to/DataframeName.csv")
>> dataframe.head()
>> dataframe.tail()
>> dataframe.shape

2. После того, как данные загружены, мы должны попытаться получить типы данных зависимых и независимых переменных. Мы можем заметить, что типы данных могут принадлежать либо int64, float64, object, либо DateTime. Этот шаг часто играет решающую роль в части масштабирования функций.

>> dataframe.info()

3. Также важно проверить изменение значений данных по таким объектам, как среднее значение, количество, стандартное отклонение, минимальные, максимальные, 25%, 50% и 75% значения. Наблюдение за этими показателями также играет решающую роль в разработке функций.

dataframe.describe()

4. Следующим шагом часто считается одномерный и двумерный анализ, который выполняется с помощью дистплота Seaborn и графика соединения. Также рекомендуется находить корреляцию между признаками во фрейме данных с помощью метода corr() . Более высокая корреляция между целевой переменной и входными функциями сигнализирует о том, что мы обязательно должны использовать их для обучения наших моделей машинного обучения, тогда как мы можем отбросить те функции, которые показывают отрицательную корреляцию. Мы также можем проверить хвост и асимметрию данных, чтобы убедиться, что функции следуют распределению Гаусса, поскольку они благоприятны для использования StandardScaler на этапе масштабирования функций.

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

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

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

До скорого! Надеюсь, что вышеупомянутые шаги помогут вам выполнить EDA для ваших данных.

Пока!!