В реальной жизни предварительная обработка данных - настоящая боль для большинства специалистов по данным. Но с помощью библиотек визуализации данных с этим действительно может быть интересно поиграть.
Я, например, часто имею дело с данными в медицинской отрасли, обычно сталкиваюсь с редкими наборами данных, которые имеют неверную маркировку и являются устаревшими (ой). Отличная техника визуализации может быстро дать вам глубокое понимание данных, иногда даже до обучения, или лучше представить объяснение и извлечение существующей модели.
Как следует из названия, мы собираемся быстро КОДИРОВАТЬ три самых интересных библиотеки визуализации в Python и поможем вам разобраться в маскировке ваших плохих данных.
Обзор:
- Matplotlib: низкоуровневый подробный инструмент разработки, свобода программирования
- Seaborn: визуализация статистических данных, на основе Matplotlib.
- Missingno: небольшой удобный и легкий инструмент для представления NaN.
Настройка Env:
Мы пользуемся преимуществами Pandas и Numpy. Если у вас под рукой нет этих инструментов, просто нажмите на ссылку выше и следуйте этим инструкциям. Я лично рекомендую установить с помощью Anaconda для обеих зависимостей, введите следующие команды в Anaconda Prompt, и все готово!
conda install -c anaconda pandas conda install -c anaconda numpy
Затем настройте наши пять библиотек визуализации:
Matplotlib:
conda install -c conda-forge matplotlib
Сиборн:
conda install -c anaconda seaborn
Отсутствует:
conda install -c conda-forge missingno
Теперь все готово!
Настройка данных:
Я использую данные из открытого набора данных Kaggle и настраиваю в Colab. Я не буду утомлять вас подробностями о вызовах API и настройках. Если вам нужна помощь, вы можете написать мне в DM, и я проведу вас через это! Эти документы могут помочь, если вы действительно хотите работать в Colab, и я тоже делюсь своим рабочим пространством здесь.
Этот скрипт используется в Colab, создает рабочую область в вашем локальном окружении, получает данные из Kaggle, а затем устанавливает missingno. Данные, которые мы используем, - это Kaggle «Конкуренция цен на жилье для пользователей Kaggle Learn», который представляет собой хорошо документированный набор данных с открытым исходным кодом.
Теперь мы импортируем все зависимости, читаем данные и просматриваем первые несколько строк этого набора данных.
Затем мы используем только часть всего набора данных с целью демонстрации.
Сиборн и Матплотлиб
Как мы упоминали выше, Matplotlib - это низкоуровневый инструмент построения графиков, который поддерживает все функции построения графиков. Обычно мы объединяем возможности Seaborn и Matplotlib для лучшего представления. Некоторые часто используемые графики в Seaborn:
- "Тепловая карта":
Обычно мы используем heatmap
для корреляционного графика между объектами, хотя его также можно использовать для построения взаимосвязи между любыми тремя объектами на трехмерном контурном графике (по крайней мере, один должен быть числовым полем)
Только для данных с dtype!=string
будет вычислена корреляция. Мы видим высокую корреляцию между переменной YearBuild
и YearRemodAdd
2. парный сюжет:
pairplot
- также очень удобный инструмент для сводки данных. Вы можете не только увидеть парную связь между признаками, но и одномерный график, график массы вероятности и т. Д.
3. Скрипичный сюжет:
violinplot
обычно используется для визуализации распределения и сравнения распределений. Для функций, которые отличаются друг от друга только с двумя уникальными записями, мы используем split=True
для сравнения между ними.
Как показано на графике, мы видим, что на LandSlope
и LotArea
влияет только Street
, который имеет только два типа записи: Pave и Grvl. Переменная пластины выбирает цветовую тему для этого графика и inner=”stick”
, соответствующую каждой записи в наборе данных.
Отсутствует и Matplotlib
Missingno - небольшая, но интересная библиотека для визуализации данных. У него есть обычные диаграммы, такие как heatmap
, Bar Chart
, как у Seaborn, но также есть некоторые уникальные диаграммы, такие как null Matrix
chart и Dendrogram
.
В данных по медицинской науке часто бывает много нулевых данных, отсутствующие данные очень просты в представлении в нулевом пространстве, не могут быть более рекомендованы!
Отсутствующие нет представляют данные с горизонтальными палками, отсутствие палки на месте показывает нулевое значение. Мы видим, что функция Alley
очень разреженная, а функция LotFrontAge
содержит изрядное количество полезных данных. Таким образом, для предварительной обработки данных мы можем отказаться от Alley
и вменять LotFrontage
Вы можете обратиться к этой статье о том, как работать с отсутствующими данными в Data Science:
Следующий шаг и не только:
Эти три библиотеки являются очень простыми, но чрезвычайно мощными в области науки о данных и достаточны для 95% задач визуализации данных в отрасли. Некоторые инструменты следующего уровня, такие как Plotly или Bokeh, также основанные на Matplotplib, дают вам возможность создавать интерактивные графики и служат в веб-приложениях. Я займусь этой областью, когда узнаю больше о технологиях Python Backend и разработке Frontend 👊