Data-view 2.0

...начало

Лето 2018. Анализ данных в R. Часть 1, Анализ данных в R. Часть 2
Осень 2018. Основы статистики. Часть 1, 2 и ... ну 3 не было, пока!

Кому-то эти курсы на stepik.org будут знакомы, кто-то проходит их сейчас, кто-то прошел давно, почти классика. В общем много было прочитано, просмотрено и изучено.
В апреле-мае 2019 курс «Введение в машинное обучение» окончательно дал понять, что тема da/ds/ml мне очень интересна. Процесс глобального поиска ресурсов по интересующим темам привел в Яндекс.Практикум https://praktikum.yandex.ru.

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

...модуль

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

  • размерность
  • кол-во пропусков
  • дубликаты
  • описательные статистики
  • ...

В какой-то момент мне надоело писать это в ручную и была предпринята попытка написать парочку функций, чтобы автоматизировать этот процесс. Сие увлекательное занятие привело к написанию великолепной функции view. Из-за особенностей jupyter, в котором мы работали, ставить свои пакеты было не выгодно, они могли самоизолироваться при перезагрузке сервера, поэтому в проектах приходилось работать сочетанием клавиш Ctrl-C/Ctrl-V.
А для себя решил написать модуль и оформить его в виде пакета, чтобы можно было устанавливать на любой машине.

О, дивный новый мир git/github/pypi — освоили, запушили. И вот пакет data-view готов к употреблению!
Текущая версия 0.2.0 умеет:

  • совместный вывод head() + tail()
  • вывод метода info()
  • вывод метода describe()
  • кол-во дубликатов
  • кол-во пропусков в данных (кол-во пропущенных значений и процент от общего кол-ва), выделенных цветовым градиентом
  • гистограмма для каждого числового признака
  • топ-5 значений для категориальных признаков
  • матрица корреляций
  • топ-5 пар с наибольшей корреляцией

Сейчас модуль написан в функциональном стиле, но каждый раз его запуская, появляется потребность некоторые выделенные сущности иметь под рукой, собственно модуль напрашивается, быть переписанным в ООП стиле, и до этого доберусь!

Вся красота устанавливается привычным образом

pip3 install data-view

Красивый пример найдете здесь https://github.com/urevoleg/data-view

А я расскажу вам о естественных курьезах.

Если у вас многоколоночные данные и все данные числовые (например более 15 столбцов), то вот такую красоту вы увидите на гистограммах👇

Чертовски приятно, что работает, но сплошной винегрет)))

Порой можно получить разъезжающееся info()

ps: если кто-то знает как решить, буду благодарен)

Если уникальных элементов более 5, то группировки вы не увидите

...планы

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

  • pandas_profiling
  • autoEDA
  • holoviews
  • bamboolib (вообще шикарная штука😃)

Но какие-то показались мне громоздкими, где-то есть много лишнего, bamboolib, например очень интересная и прикольно-интерактивная, но вот рука как-то не тянется к ее использованию. Для себя хотелось чего-то простого, без наворотов, самого простого, реализовал и пользуюсь, большего пока и не надо...

Хотя, как не надо, переписать все классами и пользоваться всеми их преимуществами! Ну это в следующей серии!

Поделиться
Отправить
Запинить
 256   2 мес   #analytics   #data   #github   #python