Сохранение ваших данных такими свежими и такими чистыми
Плейлист для кристально чистых данных
Я потреблял много контента по науке о данных и анализу, и один из основных выводов, который я обнаружил, заключается в том, что нет модели, которую вы можете построить, которая даст полезные идеи, если вы будете скармливать ей мусорные данные. Один из моих инструкторов считает, что первое, что нужно усвоить новичкам, — это принцип 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.
Мой плейлист обычно выглядит так:
- Джилл Скотт — Золотой
- Baby Cham с участием Алисии Киз - История гетто
- Уэйн Уандер — Не отпускать
- Шон Пол — Температура
- Бини Мэн — Роми
- Семья Подземелья — Экскалибур
- Эрика Баду — снова и снова
- Изгой — Эй, я!
- Outkast — Роза Паркс
- Лорин Хилл — Ex Factor
Я хотел бы сделать свой плейлист более гибким и разнообразным:
- Как мне использовать науку о данных, чтобы создать лучший плейлист?
- В настоящее время я работаю над созданием инструмента планирования поездки, который поможет мне в моей предстоящей поездке на Багамы, чтобы отпраздновать 50-летие нашей Независимости.
Если вы хотите быть в курсе моих последних статей, подписывайтесь на меня на Medium . Вы также можете связаться со мной в LinkedIn или написать мне по адресу [email protected].