Данные которые не скачать напрямую, но которые всё ещё открытые данные.
Есть такая особенность у данных машинного обучения что каталоги и реестры для их публикации часто не содержат прямых ссылок на файлы или же доступ по прямым ссылкам не является основнным. Это кажется очень странным, но это так. Вместо этого они содержат ... код для доступа к датасетам.
Те кто занимается задачами по 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
Есть такая особенность у данных машинного обучения что каталоги и реестры для их публикации часто не содержат прямых ссылок на файлы или же доступ по прямым ссылкам не является основнным. Это кажется очень странным, но это так. Вместо этого они содержат ... код для доступа к датасетам.
Те кто занимается задачами по 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.iss.one/begtin/5529
[4] https://docs.coiled.io/blog/1trc.html
#data #dataengineering #contests #python
Ключевое что можно из статьи вынести:
- да, по умолчанию 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.iss.one/begtin/5529
[4] https://docs.coiled.io/blog/1trc.html
#data #dataengineering #contests #python
Medium
Python One Billion Row Challenge — From 10 Minutes to 4 Seconds
The one billion row challenge is exploding in popularity. How well does Python stack up?