Ivan Begtin
8.07K subscribers
1.5K photos
3 videos
100 files
4.25K links
I write about Open Data, Data Engineering, Government, Privacy and Data Preservation and other gov and tech stuff
Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech

Contact @NMBabina for ads proposals
Download Telegram
В рубрике полезного чтения про данные, технологии и не только:
- Generating income from open source [1] автор перечисляет успешные бизнес модели на открытом коде, вроде ничего нового, но и систематизация вполне неплохая. Полезное чтение для всех кто об этом думает.
- Data Documentation 101: Why? How? For Whom? [2] зачем, как и для кого описывать данные и связанную с ними инфраструктуру. Мысли более чем разумные, а я добавлю что автоматизация - это то без чего не выжить в мире документации. Жду не дождусь когда сделают ИИ который за тебя задокументирует код, API, данные и оставит пояснения где ещё надо вручную поправить потому что непонятно.
- The Data Journey Manifesto [3] 22 принципа из мира дата-аналитики. Все как бальзам на душу: не тестируй качество данных вручную, не доверяй поставщикам своим, знай как должно быть и как не должно быть, находи проблемы быстро. Хорошие тезисы, стоит на разные языки их перевести
- DashQL -- Complete Analysis Workflows with SQL [4] научная статья про DashQL язык интегрированный с SQL для построения цельных аналитических конвейеров данных. Статья любопытная, но хочется сразу ненаучного, а так чтобы примеры можно было посмотреть и эксперименты поделать
- Survey reveals AI’s impact on the developer experience [5] исследование от Github о том как разработчикам нравятся ИИ инструменты. Тут есть, конечно, некоторая циничность. Это примерно как если бы Google делал исследование о том как люди любят пользоваться поиском или Microsoft о том как люди любят писать тексты. Тем не менее любопытное там есть, области применения ИИ инструментов и ожидания от них.
- StackOverflow 2023 developer survey [6] результаты опроса разработчиков от StackOverflow, в случае данных два главных навыка остаются критично важными - это Python и SQL. Они же лидируют в общем зачёте, уступая только HTML/CSS и Javascript. Обратите внимание что у профессиональных разработчиков SQL важнее и чаще нужен чем Python, а у начинающих наоборот, Python с большим отрывом. Учите SQL если кратко;)

Ссылки:
[1] https://vadimdemedes.com/posts/generating-income-from-open-source
[2] https://towardsdatascience.com/data-documentation-101-why-how-for-whom-927311354a92
[3] https://datajourneymanifesto.org
[4] https://arxiv.org/abs/2306.03714
[5] https://github.blog/2023-06-13-survey-reveals-ais-impact-on-the-developer-experience/
[6] https://survey.stackoverflow.co/2023/

#readings #python #data
Прекрасная история преподавателя на Python у которого навсегда забанили аккаунт для рекламы его курсов на Facebook [1] предположив что курсы про Python и Pandas - это курсы про работу с живыми питонами и пандами. Причём сделали это даже после ревью его аккаунта который однозначно показывал что его владелец учит программированию за деньги, а не дрессирует диких животных.

Что интересно так это то что из текста можно узнать о том что Facebook придерживается политики удаления данных в течении 180 дней и поэтому когда через год он через знакомых в Facebook'е попросил узнать за что же его забанили и как разбанить, оказалось что этих сведений уже нет. Пожизненная блокировка есть, а обоснований её уже нет.

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

Ссылки:
[1] https://lerner.co.il/2023/10/19/im-banned-for-life-from-advertising-on-meta-because-i-teach-python/

#python #stories #facebook
Данные которые не скачать напрямую, но которые всё ещё открытые данные.

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

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

Вот несколько примеров:
- Tensorflow Catalog [1] каталог наборов данных к продукту Tensorflow, по каждому датасету есть информация о первоисточнике, объёму и способу подключения используя Tensorflow
- UC Irvine Machine Learning Repository [2] каталог датасетов для машинного обучения. Кроме ссылки на выгрузку, генерируется код для Python, а для каталога есть специальная открытая библиотека
- аналогично с каталогом датасетов Pytorch [3], сразу код для импорта и это логично ведь он часть библиотеки

Не говоря уже о Kaggle и HuggingFace, там такой режим доступа по умолчанию. Можно сказать что это code - first стратегия для работы с данными.

Один из интересных вопросов в том как индексировать такие датасеты. Помимо того что все такие каталоги написаны очень по своему, так ещё и получается что у них нет такого понятия как ресурсы, файлы или ссылки, в ситуации когда доступ только через API. Зато есть автогенерация кода, причём, в основном сразу в Python.

Это одна из причин почему в Dateno пока ещё мало датасетов по Machine Learning, все каталоги в этой области очень специфичны и не все дают возможность индексировать их просто и давать ссылки на файлы.

Но, конечно, вскоре и они будут добавлены

Ссылки:
[1] https://www.tensorflow.org/datasets/catalog/overview
[2] https://archive.ics.uci.edu/
[3] https://pytorch.org/vision/stable/datasets.html
[4] https://paperswithcode.com/dataset/cityscapes

#opendata #datasets #datacatalogs #ml #datascience #python
Хорошая статья [1] о том как добиться высокой производительности Python при обработке очень больших файлов с данными на примере данных конкурса One Billion Row Challenge [2].

Ключевое что можно из статьи вынести:
- да, по умолчанию Python медленный, но есть много способов его очень сильно ускорить
- Polars и DuckDB дают сильнейшее ускорение, буквально 30кратное и делают обработку данных особенно быстрой
- Pandas - это медленно, пора отказываться от него где возможно
- замена CPython на PyPy заметно ускоряет процесс
- всё это без использования GPU, на ноутбуке

А я не могу не вспомнить что уже есть One Trillion Rows Challenge [3] где Dask претендуют на лучшую скорость обработки данных [4]

Больше соревнований хороших и разных!

Ссылки:
[1] https://towardsdatascience.com/python-one-billion-row-challenge-from-10-minutes-to-4-seconds-0718662b303e
[2] https://1brc.dev
[3] https://t.me/begtin/5529
[4] https://docs.coiled.io/blog/1trc.html

#data #dataengineering #contests #python