О данных

Первое, о чем думает каждый стремящийся к науке о данных: «Мы будем строить модели и автоматизировать процесс, используя данные», но реальный вопрос — «Как мы будем получать данные?». Прежде чем ответить на этот вопрос, давайте разберемся, что такое данные.

Данные — это информация.«Все ли доступно для информации?» Ответ будет Нет. Информация означает что-то, что имеет смысл и представляет некоторую ценность. Рассмотрим пример «Кот там голоден, есть еда, которую они дают», имеет ли смысл это утверждение, ответ НЕТ, но это просто данные без всякого смысла . Теперь позвольте мне перефразировать это, «Кошка голодна, дайте немного еды», теперь это совершенно логично, мы не добавили никаких новых данных, а изменили существующие данные, которые теперь предоставляют некоторую информацию. Короче говоря, идеальные данные означают что-то, что имеет смысл и предоставляет информацию.

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

Сбор данных

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

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

а. Зачем нам нужны данные?

б. Что будет делаться с данными?

в. Обеспечение безопасности данных

д. Обзор результатов

напр. Предоставьте некоторые предыдущие результаты, используя образцы необработанных данных.

Нам необходимо завоевать доверие клиентов и точно использовать данные для получения хороших результатов.

Что, если нам нужно получить данные от самих себя?

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

  1. Используйте API для получения данных с таких платформ, как Youtube, Instagram и т. д.
  2. Используя парсинг веб-страниц для сбора данных, мы можем использовать прекрасную библиотеку мыла Python для парсинга.
  3. Для примеров мы можем получить доступные данные из Kaggle, данных Bloomberg и т. д. (Это только для внутренних проектов, для целей реального времени эти наборы данных не рекомендуются).
  4. Проводите опросы или опросы.

Чтение данных

Мы поняли несколько способов сбора необходимых данных для анализа/исследования, теперь вопрос в том, "Как читать данные?"

Что ж, те, кто знаком с методами ввода/вывода файлов Python, могут легко читать и записывать файлы. Но подходит ли это для анализа? Ответ будет «Нет», методы ввода/вывода файлов отлично подходят для внутренней обработки файлов, но для анализа данных лучше всего использовать библиотеки, которые могут преобразовывать файлы в «DataFrame». Давайте сначала разберемся, что такое фрейм данных.

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

Для чтения CSV-файлов мы используем Pandas, библиотеку Python, помогающую манипулировать данными и структурировать фреймы данных.

На изображении выше показано, как прочитать CSV-файл в Jupyter Notebook с помощью Pandas. Фрейм данных предоставляет информацию о данных о пассажирах поезда. Не всегда данные будут в CSV-файлах, иногда нам нужно извлечь данные с веб-страниц, поэтому для этого мы можем использовать метод чтения HTML-файлов Pandas.

Прежде чем мы перейдем к чтению HTML-файлов с помощью pandas, нам нужно рассмотреть несколько моментов:

  1. Не каждая таблица на веб-сайте доступна через HTML-таблицы.
  2. Доступ к таблицам HTML с помощью панд не был бы идеальным методом, вместо этого мы можем использовать веб-скраппинг с помощью «красивого мыла».
  3. Самый эффективный способ — использовать API.

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

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

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

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

Очистка данных

Очистка данных состоит из двух этапов:

  1. Определите нулевые/отсутствующие значения и найдите способ либо заполнить их, либо удалить напрямую.
  2. Определите выбросы и удалите их.

Давайте сначала начнем с определения отсутствующих значений. Когда мы читаем любой CSV-файл или конвертируем Txt-файл в CSV-файл и считываем, часто некоторые значения будут отсутствовать. Например, мы пытаемся проанализировать данные опроса, проведенного по поводу следующих выборов, причем опрос проводился в конкретном городе с целевой аудиторией. Если некоторые из них не пожелали отвечать на вопросы, ответ будет записан как "Не интересует", но иногда из-за некоторых технических проблем ответ не будет записан и останется пустым. В некоторых случаях данные могут быть случайно удалены, поэтому эти проблемы приводят к отсутствию значений в данных. Отсутствие данных создает нулевые значения.

Чтобы справиться с этим, нам сначала нужно проанализировать следующее,

  1. Сколько пропущенных значений в данных?
  2. У каких всех функций больше всего отсутствующих значений?
  3. Можно ли заменить эти отсутствующие значения любыми манипуляциями с данными?
  4. Какое влияние это произведет, если мы отбросим эти недостающие значения?

Как только мы ответим на эти вопросы, мы можем приступить к очистке данных,

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

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

Тогда что мы можем сделать вместо того, чтобы отбрасывать или заполнять среднее значение?

  1. Найдите зависимую функцию и используйте какую-нибудь формулу, чтобы получить от нее данные. Рассмотрим пример. Если мы имеем дело с данными о фильмах, в бюджете больше нулевых значений, найдите столбец «доход/валовой доход», после чего мы можем использовать этот столбец для расчета прибыли. В зависимости от прибыли мы можем оценить средний бюджет и заполнить это значение.
  2. Используйте любую модель регрессии, чтобы заменить ее. Обучите модель с существующими данными, сделайте столбец с наибольшим количеством отсутствующих значений целевым и вычислите отсутствующие значения. (Но это не даст много точных результатов, этот метод полностью зависит от нашей проблемы и данных, с которыми мы имеем дело)

Как только мы закончим работу с нулевыми значениями, следующим шагом будет работа с выбросами. Что такое выброс?

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

Но зачем нам очищать выбросы? Выбросы в основном влияют на модели машинного обучения в виде переобучения.

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

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

Как удалить выбросы?

Есть три способа удаления выбросов,

  1. Визуализируйте данные, если есть только несколько выбросов, мы можем использовать некоторые методы фильтрации панд и отбрасывать их напрямую, что экономит некоторое время. Но в большинстве случаев выбросы не будут такими.
  2. Второй и самый известный метод — это метод межквартильного диапазона (IQR). Прежде чем мы начнем обсуждать, как узнать IQR, позвольте мне представить «Сводку пяти чисел» данных,

а. Минимум данных

б. Первый квартиль данных (Q1)

в. Медиана данных

д. Третий квартиль данных (Q3)

е. Максимум данных

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

Диапазон = максимум — минимум

IQR также рассчитывается аналогично,

IQR = Q3 - Q1

Теперь, как обнаружить выбросы с помощью IQR?

  1. Рассчитайте межквартильный диапазон.
  2. Умножьте IQR на 1,5 (IQR * 1,5).
  3. Вычтите это значение из минимального значения данных (Мин — (1,5*IQR))
  4. Добавьте то же значение с максимальным значением данных (Max + (1,5 * IQR))
  5. Данные, выходящие за пределы этого диапазона, считаются выбросами.

Выбросы находятся за пределами = Min - (1,5 * IQR)) и (Max + (1,5 * IQR))

Сводка по пяти числам визуально показана на блочной диаграмме.

3. Третий метод поиска выбросов заключается в использовании эмпирического правила. Эмпирическое правило гласит, что 68 % данных находятся в пределах первого стандартного отклонения, 95 % данных — в пределах 2-го стандартного отклонения и 99,7 % данных — в пределах 3-го стандартного отклонения. Данные, лежащие за пределами 3-го стандартного отклонения, считаются выбросом.

Управление данными

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

В этих случаях мы можем использовать метод «Применить» панд.

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

Заключение

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