Size: a a a

Python для анализа данных

2019 August 13

IB

Ilya Brodskiy in Python для анализа данных
нет, я имел в виду лайхаки в feature engeneering, импирики в использовании моделей и.т.д.
источник

IB

Ilya Brodskiy in Python для анализа данных
Ilya Brodskiy
нет, я имел в виду лайхаки в feature engeneering, импирики в использовании моделей и.т.д.
ну то есть например, есть целый отдельный раздел - кодирование категориальных признаков
в специализации яндекса говориться в основном о дамми кодировании
но существует на самом деле еще виды кодирования, типа mean encoding и.т.д.
источник

IB

Ilya Brodskiy in Python для анализа данных
Yuriy
Я проходил от Яндекса и базовый dmia, контент пересекался, но в курсе Яндекса он был более логичен по последовательности, в dmia было галопом по Европе, если бы с 0 слушал, вообще ничего не понял бы (а опытным тоже не интересно за счёт контента базового)
Плюс dmia в чатах между теми кто проходил, там достаточно опытных ребят проходило, по статистике к примеру здорово подискутировали
понял, спасибо!
источник

VS

Vanya Slobodchikov in Python для анализа данных
Ilya Brodskiy
ну то есть например, есть целый отдельный раздел - кодирование категориальных признаков
в специализации яндекса говориться в основном о дамми кодировании
но существует на самом деле еще виды кодирования, типа mean encoding и.т.д.
год назад mean encoding точно был в дмиа
источник

IB

Ilya Brodskiy in Python для анализа данных
а вот в специализации его нет) подозреваю, что существует еще какие-то интересные виды чего-то, чего нет в специализации)
источник

VS

Vanya Slobodchikov in Python для анализа данных
я советую посмотреть просто пдфки их последних лекци из репо на гитхабе, оттуда примерно все понятно
источник

IB

Ilya Brodskiy in Python для анализа данных
тоже вариант) спасибо)
источник

IB

Ilya Brodskiy in Python для анализа данных
не знал, что они их выкладывают
источник

Y

Yuriy in Python для анализа данных
А вообще если ещё не вступил в ods сообщество, обязательно вступи
источник

VS

Vanya Slobodchikov in Python для анализа данных
да там и ноутбуки с домашками
источник

VS

Vanya Slobodchikov in Python для анализа данных
источник

IB

Ilya Brodskiy in Python для анализа данных
Yuriy
А вообще если ещё не вступил в ods сообщество, обязательно вступи
я там заявку отправил - вот жду)
источник

IB

Ilya Brodskiy in Python для анализа данных
спасибо!
источник

M🌗

M 🌗🌘🌑🌒🌓... in Python для анализа данных
источник
2019 August 14

АМ

Алексей Макаров... in Python для анализа данных
Наткнулся на статью (http://bit.ly/2YQHSQE) с перечнем рекомендаций для создания хороших тетрадок в Jupyter Notebook. Под «хорошестью» имеется в виду понятность, простота чтения, воспроизводимость. Это крайне важно, если вашей тетрадью будут пользоваться другие люди, и ещё более важно, когда речь идет о тетрадках-туториалах. Эти правила могут показаться «капитанскими», но полезно о них помнить:

1. Выстраивайте анализ как историю. Комбинируйте код, текст и визуализации в полноценный рассказ. Задумайтесь о том с какой целью вы публикуете тетрадку, кто целевая аудитория, которая будет читать и использовать код.

2. Документируйте процесс, а не только результат. Поэтому не скупитесь на текст, описывайте свои мысли, интересные наблюдения и какие выводы можно сделать из этих наблюдений. Может быть самоочевидным, что делает код, но не всегда из кода очевидно какими соображениями вы руководствовались, какие полезные инсайты получили.

3. Используйте ячейки, чтобы сделать ход алгоритма более ясным. Не пытайтесь запихнуть всё в одну ячейку, но и на каждый чих создавать новую ячейку не нужно. Одна ячейка - это один важный шаг анализа. Полезно давать к каждой ячейке краткий комментарий о том какую функцию она выполняет.

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

5. Описывайте зависимости. Давайте исчерпывающее описание необходимых библиотек и их версий. Также можно генерировать файл с конфигурацией окружения, в котором запускался ноутбук. Ну а если вы дружите с докером, то можно даже сделать отдельный контейнер (хотя это существенно усложняет порог использования тетрадки, но если вы публикуете её для технически подкованных людей, то это может иметь смысл).

6. Используйте системы контроля версий. Это позволит отслеживать изменения и эффективнее управлять ими, например, быстро откатываться к предыдущей версии. На эту тему есть хорошая статья «How to Version Control Jupyter Notebooks». (https://nextjournal.com/schmudde/how-to-version-control-jupyter)

7. Выстраивайте полноценный пайплайн обработки данных. Идеально воспроизводимый анализ должен выполняться от А до Я без необходимости что-то обрабатывать вручную. Например, если вы предобрабатываете данные, то делайте это в ноутбуке. Также полезно делать ноутбуки параметризируемыми, чтобы быстро перезапускать весь процесс с другими входными данными. В этом может помочь Papermill. (загуглите, кто ещё не)

8. Вместе с ноутбуком старайтесь публиковать и данные. Не всегда это возможно из-за того, что датасет большой или содержит конфиденциальные данные. Но можно выложить отдельный кусок или попробовать нагенерить что-то похожее, если датасет непубличный.

9. Постарайтесь сделать так, чтобы ноутбук был читабельным, воспроизводимым и кастомизируемым. Смотри правила 3, 5 и 7.
10. Будьте тем, кто применяет эти правила. Будь то работа, ваша open-source активность или соревнования на Кагле. Чем больше будет воспроизводимых, читабельных и полезных ноутбуков - тем выше уровень открытости данных и компетенций.

Оригинал статьи: https://doi.org/10.1371/journal.pcbi.1007007. В самой статье есть ссылка на GitHub с парочкой примеров «хороших» тетрадок.

Медиум для шера http://bit.ly/2YZJym0
источник

АМ

Алексей Макаров... in Python для анализа данных
И на этом фоне вспомнил про одну ссылку, которая обязательна всем кто задаёт вопросы в чатиках или на StackOverflow: https://stackoverflow.com/questions/20109391/how-to-make-good-reproducible-pandas-examples
источник

АМ

Алексей Макаров... in Python для анализа данных
Writing a good question is HARD.
источник

R

Roman in Python для анализа данных
Алексей, а по статье, которую ты выложил, нет понимания что под капотом у iterrows() и itertuples()?
источник

АМ

Алексей Макаров... in Python для анализа данных
Roman
Алексей, а по статье, которую ты выложил, нет понимания что под капотом у iterrows() и itertuples()?
Судя по исходному коду, iterrows() работает на основе Series. В то время как itertuples() формирует namedtuple для каждой строки
источник

АМ

Алексей Макаров... in Python для анализа данных
источник