понимание, принципы и рекомендации
Введение
Перед тем, как мы проведем анализ данных или создадим модели машинного обучения, предстоит очень важный этап — очистка данных. Очистка данных — это шаг к повышению качества данных путем очистки данных от пропущенных значений, выбросов, дублирования данных и т. д. Большинство ученых, занимающихся данными, тратят почти 80% своего времени на очистку данных, чтобы улучшить качество данных.
Возможно, большинство из вас читали термин«мусор на входе, мусор на выходе». Поэтому очистка данных очень важна, потому что, если мы будем проводить анализ данных или создавать модели, используя данные низкого качества, мы также будем проводить неправильный анализ и даже создавать плохие модели машинного обучения. Выполнение очистки данных может сделать время анализа данных более эффективным и уберечь вас от неправильных выводов.
В этой статье будут обсуждаться критически важные вещи, которые необходимо выполнить в процессе очистки данных, такие как отсутствующие данные, выбросы, несогласованные данные, дублирующиеся данные и недействительные данные.
1. Отсутствуют данные
Отсутствующие данные — это потеря некоторых данных, которые были получены. Отсутствующие данные обычно возникают при анализе данных и в реальных наборах данных. Эта проблема может быть вызвана несколькими причинами, такими как неполные данные из-за ошибок записи или повреждения данных. Каковы наши решения для решения этой проблемы? Мы не можем просто оставить это, как оставить дыру в крыше нашего дома.
Сначала мы должны наблюдать пропущенные значения в наших данных, такие как ноль или 0, NAN, null, none, пустая строка, NA и т. д. что-то ценное?». Если вы думаете, что ответ неверен, то следующий подход может помочь вам справиться с пропущенными значениями:
- Отбросьте столбцы или строки, содержащие пропущенные значения. Если в строке есть отсутствующее значение, которое не является ценным, вы можете сразу удалить строку (например,
age
,gender
,annual _income
,spending_score
). Если столбец почти полностью заполнен пропущенными значениями, просто удалите его. Однако этот подход эффективен только в том случае, если пропущенное значение является небольшим числом по сравнению с вашими наборами данных, например, 20 пропущенных значений при общем количестве данных 50000. - Если вы не хотите отбрасывать некоторые столбцы или строки, содержащие пропущенные значения, вы можете использовать подход вменения. Вменение — это метод, при котором мы заполняем пропущенное значение наилучшей догадкой. Методы вменения делятся на две категории: одиночные вменения и множественные вменения. Вы можете прочитать эту статью, чтобы узнать больше о вменении.
- Следующий подход — создать новый столбец, содержащий отсутствующее значение. Мы можем использовать новый столбец, содержащий отсутствующее значение, в качестве новой функции.
2. Выбросы
Помимо отсутствующих значений, в реальных наборах данных иногда появляются выбросы. Выброс — это значение, выходящее за пределы ожидаемого диапазона и отличающееся от остальных данных (обычно имеет очень высокие или очень низкие значения). Несколько причин, по которым могут возникать выбросы, такие как ошибка датчика, который считывает комнатную температуру в сто градусов Цельсия, ошибки при вводе данных (например, рост ребенка два метра) и наличие экстремальных данных, которых невозможно избежать.
Как мы можем определить, содержат ли наши наборы данных выбросы? Существует 3 широко используемых подхода для обнаружения выбросов, таких как нормализация с использованием Z-показателя, метод IQR (межквартильный диапазон) и визуализация с использованием коробчатых диаграмм. После того, как мы идентифицируем выбросы в наших данных, можно использовать следующие подходы для работы с выбросами:
- Удалите их из наших данных. Наличие выбросов в наших данных может испортить наш анализ, а также производительность наших алгоритмов машинного обучения. Удалите их с помощью 1,5 (IQR) вверх и вниз из ваших данных.
- Сегментируйте данные, чтобы выбросы были в отдельной группе, или мы можем пометить их как выбросы и включить в качестве новой функции.
- Сохраните выброс и преобразуйте данные с помощью статистических методов, чтобы уменьшить влияние выброса.
3. Несогласованные данные
Согласованность данных имеет решающее значение; противоречивые данные будут мешать нашей работе. Banana
, banana
и bananas
имеют одинаковое значение, но пишутся по-разному. Люди могут понять, что Banana
— это то же самое, что banana
(проблема с заглавными буквами), которая такая же, как bananas
(проблема с орфографическими ошибками), но компьютеры думают, что эти три слова относятся к трем разным вещам. Человеческая ошибка может привести к несогласованности данных (т. е. нет специальных правил для ввода данных).
Итак, как мы обнаруживаем противоречивые данные? Лучший способ обнаружить противоречивые данные одних и тех же элементов — визуализировать их. Визуализируйте данные с помощью гистограмм по категориям или путем подсчета строк по категориям. При обнаружении несоответствий в ваших данных стандартизируйте все элементы в одном формате.
4. Повторяющиеся данные
Термин «дублированные данные» относится к повторению одних и тех же значений для одной и той же точки наблюдения. Повторяющиеся данные могут быть неэффективны при разработке моделей машинного обучения, а также могут привести к неправильной интерпретации модели. Объединение данных из одного и того же источника, отправка пользователями информации дважды или более, а также отключение нашего кода сбора данных и вставка одних и тех же записей несколько раз могут привести к дублированию данных.
Когда вы обнаружите дубликаты в своих данных и поймете, что они бесполезны, вы можете их удалить. Другой подход заключается в сравнении схожих данных и получении наиболее релевантной информации.
5. Неверные данные
Последнее, на что мы должны обратить внимание в процессе очистки данных, — это недействительные данные. Неверные данные очень трудно обнаружить с помощью компьютеров, и их должны обнаруживать люди. Например, пользователи, которые провели -5 часов на нашей платформе, или человек, чей возраст составляет 180 лет. Неверные данные могут быть вызваны проблемами с обработкой данных (обычно во время подготовки функции или очистки данных). Очистка неверных данных требует изменения функций и преобразований, которые привели к тому, что данные стали недействительными. Если это невозможно, неверные данные удаляются.
Заключение
Очистка данных является важным шагом в любом анализе данных или разработке модели машинного обучения. Реальные наборы данных не всегда чисты. В результате мы должны очищать наши данные, ища отсутствующие данные, выбросы, несогласованные данные, повторяющиеся данные и недействительные данные.
Ссылки:
[1] Альбон, К. (2018). Машинное обучение с кулинарной книгой Python: практические решения от предварительной обработки до глубокого обучения. О'Райли Медиа.
[2] МакКинни, В. (2017). Python для анализа данных: обработка данных с помощью Pandas, NumPy и IPython. О'Райли Медиа.
[3] Родерик Дж. А. Литтл и Дональд Б. Рубин (1986). «Статистический анализ с отсутствующими данными». John Wiley & Sons, Inc., Нью-Йорк, штат Нью-Йорк, США.