Ivan Begtin
8.1K subscribers
2K photos
3 videos
102 files
4.72K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
Download Telegram
Данные которые не скачать напрямую, но которые всё ещё открытые данные.

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

Те кто занимается задачами по 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
Полезные ссылки про данные, технологии и не только:
- Kreuzberg [1] библиотека для Python по извлечению текста из документов, поддерживает множество форматов, внутри использует Pandoc и Tesseract OCR. Создано как раз для использования в задачах RAG (Retrieval Augmented Generation) с прицелом на локальную обработку данных и минимумом зависимостей. Лицензия MIT
- Validoopsie [2] другая библиотека для Python для валидации данных. Использует библиотеку Narwhals благодаря которой подключается к почти любым видами дата-фреймов. Выглядит полезной альтернативой Great Expectations, лично для меня в валидации данных глобальный нерешённый вопрос в том что тут правильнее, код или декларативное программирования. Иначе говоря, правила проверки должны ли быть отчуждаемыми от языка разработки. Здесь валидация встроена в код, но поверх можно сделать и декларативный движок. Лицензия MIT
- Scripton [3] коммерческое IDE для Python с необычной фичей визуализации данных в реальном времени. Есть только скриншоты, записи экрана и коммерческая версия для macOS. Для тех кто занимается алгоритмической визуализацией может быть удобно, для остальных задач пока нет такой уверенности.
- New horizons for Julia [4] по сути статья о том что язык программирования Julia ещё жив и развивается. Правда медленно, на мой взгляд, но вроде как есть позитивное движение за пределами научных областей. Лично я почти не сталкивался с Julia кроме как на уровне примеров кода, но хорошо если он кому-то нравится и полезен.
- Data-Driven Scrollytelling with Quarto [5] визуализация дата-историй с помощью движка Quarto, итоги конкурса таких визуализаций с большим числом примеров и победителей. Примеры все от команды компании Posit которая этот open-source движок Quarto и разрабатывает. Скажу отдельно что это очень правильно. Если ты делаешь любой движок по визуализации, то просто обязательно надо проводить такие конкурсы.
- The Best Way to Use Text Embeddings Portably is With Parquet and Polars [6] ещё один обзор о том насколько эффективен Parquet в связке с Polars для работы с данными, в данном случае данными карт Magic of the Gathering. Автор тоже задаётся вопросом о том почему Parquet не поддерживается в MS Excel.
- How to Make Superbabies [7] особенно длинный лонгрид о том как генетическими изменениями можно улучшать человека, создавать супер детей или "оптимизированных детей", как ещё пишет автор. Читать и думать об этом надо потому что всё идёт к тому что скоро это станет ещё одной острой социальной и геополитической темой.

Ссылки:
[1] https://github.com/Goldziher/kreuzberg
[2] https://github.com/akmalsoliev/Validoopsie
[3] https://scripton.dev/
[4] https://lwn.net/Articles/1006117/
[5] https://posit.co/blog/closeread-prize-winners/
[6] https://minimaxir.com/2025/02/embeddings-parquet/
[7] https://www.lesswrong.com/posts/DfrSZaf3JC8vJdbZL/how-to-make-superbabies

#opensource #data #datatools #dataviz #genetics #python