Сохранение ваших данных такими свежими и такими чистыми

Nov 29 2022
Плейлист для кристально чистых данных Я поглощал много контента по науке о данных и анализу, и один из основных выводов, который я обнаружил, заключается в том, что вы не можете построить модель, которая даст полезные идеи, если вы будете скармливать ей мусорные данные. Один из моих инструкторов считает, что первое, что нужно усвоить новичкам, — это принцип GIGO.

Плейлист для кристально чистых данных

Фото Марсела Ласкоски на Unsplash

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

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

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

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

Итак, мой типичный первый шаг — создать фрейм данных df, который я использую pd.read_csvдля создания.

df = pd.read_csv('myfile.csv', index_col = 0)

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

Золотая Джилл Скотт

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

На очистку данных я часто трачу много времени:

  • Удаление дубликатов — дубликаты занимают место, могут замедлить внедрение моделей и привести к ошибочным выводам.
  • Замена отсутствующих значений. Хотя оптимального способа справиться с отсутствующими значениями не существует, изучение того, как обращаться с отсутствующими значениями, — это навык, над которым должны работать начинающие специалисты по данным.
  • Замена значений-заполнителей — такие заполнители, как: «—», «NAN», «?» и «#» постоянно портят работу и приводят к ошибкам, как видимым, так и невидимым при анализе. Если вам повезет, сообщений об ошибках предостаточно; если вам в высшей степени не повезло, вы замечаете после попытки визуализировать корреляцию между зависимыми и независимыми переменными и получаете заметно маловероятные графики.
  • Приведение типов данных к более подходящим типам данных. Часто это проявляется, когда я наивно обрабатываю категориальную переменную (представьте что-то с фиксированным числом значений), как если бы она была непрерывной (что-то, что может иметь любое значение между минимумом и максимумом). .

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

  • df.shape— Просмотрите размерность данных
  • df.info()— Просмотрите краткую сводку данных
  • df.head()— Просмотрите первые пять строк данных (вы можете увеличить это число, добавив число n внутри круглых скобок, например df.head(10), вы получите первые десять строк данных.

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

df.isin['?', '#', 'NaN', 'null', 'N/A', '-']).any()

Обычно это происходит, когда я начинаю слушать исполнителей регги старой школы, таких как Бэби Чам, Кэплтон и Шон Пол, которые вызывают ностальгию по моим школьным проектам в лаборатории физики с мистером Грином, у которого был лучший ритмичный саундтрек в стиле регги во всем мире. конец 90-х на Ист-Сайде Нью-Провиденса не исключение.

Обзор изменений

После определения заполнителей я использую такие шаги, играя под олдскульное регги:

df['column_with_placeholder'] = pd.to_numeric(df['column_with_placeholder'], errors = "coerce")

Сохранение ритма

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

Мой плейлист обычно выглядит так:

  1. Джилл Скотт — Золотой
  2. Baby Cham с участием Алисии Киз - История гетто
  3. Уэйн Уандер — Не отпускать
  4. Шон Пол — Температура
  5. Бини Мэн — Роми
  6. Семья Подземелья — Экскалибур
  7. Эрика Баду — снова и снова
  8. Изгой — Эй, я!
  9. Outkast — Роза Паркс
  10. Лорин Хилл — Ex Factor

Я хотел бы сделать свой плейлист более гибким и разнообразным:

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

Если вы хотите быть в курсе моих последних статей, подписывайтесь на меня на Medium . Вы также можете связаться со мной в LinkedIn или написать мне по адресу [email protected].