[Python, Визуализация данных, Машинное обучение] Мы скачали 10 миллионов Jupyter-ноутбуков с Github — и вот что мы выяснили
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Привет, Хабр! На связи команда Datalore by JetBrains. Хотим поделиться с вами результатами анализа нескольких миллионов публично доступных репозиториев Github с Jupyter-ноутбуками. Мы скачали ноутбуки, чтобы немного больше узнать в цифрах о текущем статусе, пожалуй, самого популярного инструмента для data science.
Вдохновившись исследованием, проведенным командой Design Lab из UC San Diego, мы дважды скачали Jupyter-ноутбуки: в октябре 2019 и в октябре 2020. Два года назад в открытом доступе было 1,23 миллиона ноутбуков. В октябре 2020 года число ноутбуков выросло в 8 раз, и мы смогли скачать 9,72 миллиона файлов. Этот датасет мы сделали публичным — инструкцию по скачиванию можно найти в конце поста.Все цифры и графики были подсчитаны в этом Datalore ноутбуке. Datalore — это онлайн Jupyter-ноутбуки с умной поддержкой кода, которые мы делаем в JetBrains. Вы можете создать копию ноутбука, перейдя по ссылке, и работать с данными в Datalore.Мы будем рады, если вы захотите поработать с данными и провести собственный анализ. Делитесь с нами результатами, отмечая в Твиттере @JBDatalore или написав нам на contact@datalore.jetbrains.com. Теперь перейдем к цифрам.Язык data scienceНесмотря на большой рост популярности R и Julia в последние годы, Python остается лидирующим программным языком для Jupyter-ноутбуков.Помимо этого встречаются ноутбуки, написанные на Bash, MatLab и Scilab, а также на языках, с которыми ноутбуки ассоциируются, пожалуй, в последнюю очередь: Scala, C++ и Java.На графике можно посмотреть распределение языков программирования в ноутбуках. Ноутбуки, язык которых не был указан в метаданных, относятся к категории “nan”.
В табличке можно увидеть разницу в процентах использования Python 2 и Python 3 в ноутбуках в 2018, 2019 и 2020 годах.Python 2Python 3Other languagesИсследование 201852,5%43,8%3,7%Исследование 2019 (JetBrains Datalore)18,1% (всего 1029 K)72,6% (всего 4128 K)9,3% (всего 529 K)Исследование 2020 (JetBrains Datalore)11,8% (всего 1154 K, +125 K к 2019)79,3% (всего 7710 K, +3582 K к 2019)10,8% (всего 1050 K, +521 K к 2019)Количество ноутбуков, написанных на Python 3, увеличилось с 2019 года на 87%, а количество ноутбуков с Python 2 — на 12%.На графике ниже можно увидеть распределение количества ноутбуков, написанных на Python и R, по версиям языков:
Топ библиотек data scienceЧтобы помочь пользователям Datalore начать работу с ноутбуками как можно быстрее, мы предустановили самые используемые Python-библиотеки. Для этого мы посчитали статистику импортов в скачанных Jupyter-ноутбуках.Не оказалось неожиданностью, что 60% ноутбуков содержат в списке зависимостей Numpy, 47% импортируют Pandas и Matplotlib.Более подробную информацию можно увидеть на графике:
Самые популярные комбинации библиотек:
Рост PyTorch и TensorFlowЧлены нашей команды интересуются библиотеками для глубинного обучения, и мы решили сравнить рост библиотек PyTorch и TensorFlow.Из таблицы ниже можно увидеть, что число импортов у PyTorch растет значительно быстрее, чем у TensorFlow.В то же время нужно учитывать, что библиотека Keras может использовать TensorFlow в качестве транзитивной зависимости, а Fast.ai использует PyTorch в качестве зависимости. Это означает, что скорость роста TensorFlow, вероятно, выше, но мы не можем говорить с уверенностью, какая из библиотек больше использовалась в последние годы.TensorFlowKerasPyTorchFastaiИсследование 2019 (JetBrains Datalore)321 K231 K110 K19 KИсследование 2020(JetBrains Datalore)430 K (+34%)367 K(+59%)253 K(+130%)25 K(+32%)Содержание ячеек в ноутбукахНемного общих цифр относительно ячеек (данные подсчитаны для ноутбуков, написанных на Python 3.6 и выше):
- 71,90% ноутбуков содержат Markdown.
- 42,13% ноутбуков содержат графики или картинки в output.
- 12,34% ноутбуков содержат LaTex.
- 19,77% ноутбуков содержат HTML.
- 20,63% ноутбуков содержат код внутри Markdown.
Markdown очень широко используется в Jupyter-ноутбуках. 50% ноутбуков содержат более 4 ячеек Markdown и более 14 ячеек кода. Графики ниже показывают распределения Markdown-ячеек и ячеек с кодом:
На графике ниже можно увидеть распределение количества строк кода. Хотя существуют отдельные экземпляры ноутбуков, имеющие более 25 000 строк кода, 95% ноутбуков содержат менее 465 строк:
Использование графиков тоже популярно. Выше мы упоминали, что 42% ноутбуков содержат визуализации. 10% этих ноутбуков содержат более 8 изображений.
Воспроизводимость Jupyter-ноутбуковДля Jupyter-ноутбуков существует проблема — не всегда готовый ноутбук можно воспроизвести. Зачастую это означает, что ячейки были выполнены автором не в прямой последовательности. Мы проверили порядок выполнения ячеек кода всех доступных Jupyter-ноутбуков и выяснили, что 36% Jupyter-ноутбуков выполнены в нелинейном порядке, т. е. при исполнении кода линейно результат выполнения может отличаться.Мы стали смотреть детальнее, зависит ли порядок выполнения кода в ноутбуке от количества Markdown-ячеек и ячеек кода. Не удивительно, но оказалось, что, чем меньше ячеек кода в ноутбуке, тем меньше вероятность, что код выполнен в линейном порядке.
Количество Jupyter-ноутбуков невероятно выросло за последние годы, и в этом исследовании мы постарались побольше узнать об этом очень популярном инструменте работы над задачами data science. Мы надеемся, что статья была для вас интересной и вдохновила на дальнейший анализ. Посмотреть, как мы получили графики и цифры, можно в этом Datalore-ноутбуке.СсылкиПредыдущее исследование 2018 годаНоутбук в Datalore с предобработанными даннымиИнструкция по получению доступа к данным:
- Скачайте оригинальный датасет:
- Ссылка для скачивания исходных данных из бакета (10 млн файлов, 4,4 ТБ): https://github-notebooks-update1.s3-eu-west-1.amazonaws.com/
- Получение списка файлов c помощью AWS S3 API может занять время, поэтому воспользуйтесь этим JSON со всеми именами файлов: https://github-notebooks-samples.s3-eu-west-1.amazonaws.com/ntbslist.json
- Добавьте имя файла из JSON к адресу бакета, чтобы получить прямую ссылку, например: https://github-notebooks-update1.s3-eu-west-1.amazonaws.com/0000036466ae1fe8f89eada0a7e55faa1773e7ed.ipynb
- Или воспользуйтесь предобработанными данными из исследования (3 ГБ). Файлы доступны в этом Datalore-ноутбуке.
===========
Источник:
habr.com
===========
Похожие новости:
- [Python, Scala, Big Data] Big Data Tools EAP 12 Is Out: Experimental Python Support and Search Function in Zeppelin Notebooks
- [IT-инфраструктура, Машинное обучение, DevOps] Приглашаем на митап «Машинное обучение и инфраструктура вокруг него» 18 декабря в 14:00
- [Python, IT-инфраструктура, Администрирование баз данных, DevOps, Микросервисы] Vault+Pydantic: продолжение саги, локальная разработка
- [Машинное обучение, Игры и игровые приставки] Компания Modulate представила службу распознавания речи ToxMod для борьбы с токсичностью в видеоиграх
- [Разработка на Raspberry Pi, Робототехника, DIY или Сделай сам] Как мы сделали простого WebRTC робота в домашних условиях
- [Python, Django, Микросервисы, Kubernetes] Микросервисы на монолите
- [Python, IT-инфраструктура, Терминология IT] Немного про трекинг и сервис переходов Admitad
- [Управление разработкой, Управление проектами, Управление продуктом, Управление персоналом] Представляем YouTrack Lite
- [Занимательные задачки, Математика, Визуализация данных, Научно-популярное] Бесполезный паттерн в полярных координатах, открывающий полезное свойство простых чисел
- [Kotlin] Глубокое обучение на Kotlin: вышла альфа-версия KotlinDL
Теги для поиска: #_python, #_vizualizatsija_dannyh (Визуализация данных), #_mashinnoe_obuchenie (Машинное обучение), #_jupyter_notebooks, #_data_science, #_datalore, #_analiz_dannyh (анализ данных), #_jupyter, #_python, #_mashinnoe+obuchenie (машинное+обучение), #_jetbrains, #_issledovanie (исследование), #_vizualizatsija (визуализация), #_blog_kompanii_jetbrains (
Блог компании JetBrains
), #_python, #_vizualizatsija_dannyh (
Визуализация данных
), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:35
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Привет, Хабр! На связи команда Datalore by JetBrains. Хотим поделиться с вами результатами анализа нескольких миллионов публично доступных репозиториев Github с Jupyter-ноутбуками. Мы скачали ноутбуки, чтобы немного больше узнать в цифрах о текущем статусе, пожалуй, самого популярного инструмента для data science. Вдохновившись исследованием, проведенным командой Design Lab из UC San Diego, мы дважды скачали Jupyter-ноутбуки: в октябре 2019 и в октябре 2020. Два года назад в открытом доступе было 1,23 миллиона ноутбуков. В октябре 2020 года число ноутбуков выросло в 8 раз, и мы смогли скачать 9,72 миллиона файлов. Этот датасет мы сделали публичным — инструкцию по скачиванию можно найти в конце поста.Все цифры и графики были подсчитаны в этом Datalore ноутбуке. Datalore — это онлайн Jupyter-ноутбуки с умной поддержкой кода, которые мы делаем в JetBrains. Вы можете создать копию ноутбука, перейдя по ссылке, и работать с данными в Datalore.Мы будем рады, если вы захотите поработать с данными и провести собственный анализ. Делитесь с нами результатами, отмечая в Твиттере @JBDatalore или написав нам на contact@datalore.jetbrains.com. Теперь перейдем к цифрам.Язык data scienceНесмотря на большой рост популярности R и Julia в последние годы, Python остается лидирующим программным языком для Jupyter-ноутбуков.Помимо этого встречаются ноутбуки, написанные на Bash, MatLab и Scilab, а также на языках, с которыми ноутбуки ассоциируются, пожалуй, в последнюю очередь: Scala, C++ и Java.На графике можно посмотреть распределение языков программирования в ноутбуках. Ноутбуки, язык которых не был указан в метаданных, относятся к категории “nan”. В табличке можно увидеть разницу в процентах использования Python 2 и Python 3 в ноутбуках в 2018, 2019 и 2020 годах.Python 2Python 3Other languagesИсследование 201852,5%43,8%3,7%Исследование 2019 (JetBrains Datalore)18,1% (всего 1029 K)72,6% (всего 4128 K)9,3% (всего 529 K)Исследование 2020 (JetBrains Datalore)11,8% (всего 1154 K, +125 K к 2019)79,3% (всего 7710 K, +3582 K к 2019)10,8% (всего 1050 K, +521 K к 2019)Количество ноутбуков, написанных на Python 3, увеличилось с 2019 года на 87%, а количество ноутбуков с Python 2 — на 12%.На графике ниже можно увидеть распределение количества ноутбуков, написанных на Python и R, по версиям языков: Топ библиотек data scienceЧтобы помочь пользователям Datalore начать работу с ноутбуками как можно быстрее, мы предустановили самые используемые Python-библиотеки. Для этого мы посчитали статистику импортов в скачанных Jupyter-ноутбуках.Не оказалось неожиданностью, что 60% ноутбуков содержат в списке зависимостей Numpy, 47% импортируют Pandas и Matplotlib.Более подробную информацию можно увидеть на графике: Самые популярные комбинации библиотек: Рост PyTorch и TensorFlowЧлены нашей команды интересуются библиотеками для глубинного обучения, и мы решили сравнить рост библиотек PyTorch и TensorFlow.Из таблицы ниже можно увидеть, что число импортов у PyTorch растет значительно быстрее, чем у TensorFlow.В то же время нужно учитывать, что библиотека Keras может использовать TensorFlow в качестве транзитивной зависимости, а Fast.ai использует PyTorch в качестве зависимости. Это означает, что скорость роста TensorFlow, вероятно, выше, но мы не можем говорить с уверенностью, какая из библиотек больше использовалась в последние годы.TensorFlowKerasPyTorchFastaiИсследование 2019 (JetBrains Datalore)321 K231 K110 K19 KИсследование 2020(JetBrains Datalore)430 K (+34%)367 K(+59%)253 K(+130%)25 K(+32%)Содержание ячеек в ноутбукахНемного общих цифр относительно ячеек (данные подсчитаны для ноутбуков, написанных на Python 3.6 и выше):
На графике ниже можно увидеть распределение количества строк кода. Хотя существуют отдельные экземпляры ноутбуков, имеющие более 25 000 строк кода, 95% ноутбуков содержат менее 465 строк: Использование графиков тоже популярно. Выше мы упоминали, что 42% ноутбуков содержат визуализации. 10% этих ноутбуков содержат более 8 изображений. Воспроизводимость Jupyter-ноутбуковДля Jupyter-ноутбуков существует проблема — не всегда готовый ноутбук можно воспроизвести. Зачастую это означает, что ячейки были выполнены автором не в прямой последовательности. Мы проверили порядок выполнения ячеек кода всех доступных Jupyter-ноутбуков и выяснили, что 36% Jupyter-ноутбуков выполнены в нелинейном порядке, т. е. при исполнении кода линейно результат выполнения может отличаться.Мы стали смотреть детальнее, зависит ли порядок выполнения кода в ноутбуке от количества Markdown-ячеек и ячеек кода. Не удивительно, но оказалось, что, чем меньше ячеек кода в ноутбуке, тем меньше вероятность, что код выполнен в линейном порядке. Количество Jupyter-ноутбуков невероятно выросло за последние годы, и в этом исследовании мы постарались побольше узнать об этом очень популярном инструменте работы над задачами data science. Мы надеемся, что статья была для вас интересной и вдохновила на дальнейший анализ. Посмотреть, как мы получили графики и цифры, можно в этом Datalore-ноутбуке.СсылкиПредыдущее исследование 2018 годаНоутбук в Datalore с предобработанными даннымиИнструкция по получению доступа к данным:
=========== Источник: habr.com =========== Похожие новости:
Блог компании JetBrains ), #_python, #_vizualizatsija_dannyh ( Визуализация данных ), #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:35
Часовой пояс: UTC + 5