Готовы ли вы сделать следующий большой шаг в своем путешествии в области машинного обучения? Работа над игрушечными наборами данных и использование популярных библиотек и фреймворков для обработки данных — хорошее начало. Но если вы действительно хотите выделиться среди конкурентов, вам нужно сделать рывок и выделиться.

Отличный способ сделать это — сделать проект о последних достижениях в науке о данных. Хотите стать экспертом Компьютерного зрения? Узнайте, как работает новейший алгоритм обнаружения объектов. Если ваше призвание — Обработка естественного языка (NLP), узнайте о различных аспектах и ​​ответвлениях архитектуры Transformer.

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

Итак, давайте проверим семь проектов GitHub по науке о данных, которые были созданы в августе 2019 года. Как всегда, я оставил предметную область широкой, включив в нее проекты от машинного обучения до обучения с подкреплением.

И если вы столкнулись с какой-либо библиотекой, которой нет в этом списке, сообщите об этом сообществу в разделе комментариев под этой статьей!

Лучшие проекты GitHub по науке о данных

Я разделил эти проекты по науке о данных на три широкие категории:

  • Проекты машинного обучения
  • Проекты глубокого обучения
  • Проекты по программированию

Проекты машинного обучения

pyforest — импорт всех библиотек Python Data Science в одну строку кода

Мне очень, очень нравится эта библиотека Python. Как следует из приведенного выше заголовка, ваши типичные библиотеки обработки данных импортируются с использованием только одной библиотеки — pyforest. Посмотрите эту быструю демонстрацию, которую я взял из репозитория GitHub библиотеки:

Взволнованы еще? pyforest в настоящее время включает в себя библиотеки pandas, NumPy, matplotlib и многие другие библиотеки обработки данных.

Просто используйте pip install pyforest, чтобы установить библиотеку на свой компьютер, и все готово. И вы можете импортировать все популярные библиотеки Python для науки о данных всего одной строкой кода:

Потрясающий! Мне очень нравится использовать это, и я уверен, что вы тоже. Вам следует ознакомиться с приведенным ниже бесплатным курсом по Python, если вы новичок в этом языке:

HungaBunga — другой способ построения моделей машинного обучения с использованием sklearn

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

И проект HungaBunga поможет вам найти ответ быстрее, чем большинство библиотек по обработке и анализу данных. Он просматривает все модели sklearn (да, все!) со всеми возможными гиперпараметрами и ранжирует их с помощью перекрестной проверки.

Вот как можно импортировать все модели (как классификацию, так и регрессию):

from hunga_bunga import HungaBungaClassifier, HungaBungaRegressor

Вам следует ознакомиться с приведенной ниже подробной статьей об алгоритмах машинного обучения с учителем:

Проекты глубокого обучения

Поведенческий набор для обучения с подкреплением (bsuite) от DeepMind

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

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

Мне нравится эта область исследований, потому что она, по сути, пытается выполнить две задачи (согласно их репозиторию GitHub):

  • Собирайте информативные и масштабируемые проблемы, которые охватывают ключевые проблемы в разработке эффективных и общих алгоритмов обучения.
  • Изучите поведение агентов по их производительности в этих общих тестах

Репозиторий GitHub содержит подробное объяснение того, как использовать bsuite в ваших проектах. Вы можете установить его, используя следующий код:

pip install git+git://github.com/deepmind/bsuite.git

Если вы новичок в обучении с подкреплением, вот пара статей, которые помогут вам начать:

DistilBERT — более легкая и дешевая версия BERT от Google

Вы, должно быть, уже слышали о BERT. Это одна из самых популярных и быстро набирающих популярность сред обработки естественного языка (NLP). BERT основан на архитектуре Transformer.

Но с одной оговоркой — это может быть довольно ресурсоемким. Итак, как специалисты по данным могут работать с BERT на своих собственных машинах? Шаг вперёд — DistilBERT!

DistilBERT, сокращение от Distillated-BERT, создан командой разработчиков популярной платформы PyTorch-Transformers. Это небольшая и дешевая модель Transformer, построенная на архитектуре BERT. По словам команды, DistilBERT работает на 60% быстрее, сохраняя при этом более 95% производительности BERT.

Этот репозиторий GitHub объясняет, как работает DistilBERT вместе с кодом Python. Вы можете узнать больше о PyTorch-Transformers и о том, как использовать их в Python, здесь:

Серия ShuffleNet — чрезвычайно эффективная сверточная нейронная сеть для мобильных устройств

Проект компьютерное зрение для вас! ShuffleNet — это чрезвычайно эффективная архитектура сверточной нейронной сети (CNN). Он был разработан для мобильных устройств с очень ограниченной вычислительной мощностью.

Этот репозиторий GitHub включает следующие модели ShuffleNet (да, их несколько):

  • ShuffleNet: чрезвычайно эффективная сверточная нейронная сеть для мобильных устройств
  • ShuffleNetV2: Практические рекомендации по эффективному проектированию архитектуры CNN
  • ShuffleNetV2+: усиленная версия ShuffleNetV2.
  • ShuffleNetV2.Large: более глубокая версия, основанная на ShuffleNetV2.
  • OneShot: однократный поиск нейронной архитектуры по одному пути с единообразной выборкой
  • DetNAS: DetNAS: магистральный поиск для обнаружения объектов

Итак, вы хотите понять CNN? Вы знаете, я вас прикрыл:

RAdam — улучшение дисперсии скорости обучения

RAdam вышел менее двух недель назад и уже набрал 1200+ звезд. Это многое говорит вам о том, насколько хорошо работает этот репозиторий!

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

RAdam — это новый вариант Адама, исправляющий дисперсию скорости адаптивного обучения. В этом выпуске представлено значительное улучшение по сравнению с ванильным оптимизатором Adam, который страдает от проблемы дисперсии.

Вот производительность RAdam по сравнению с Adam и SGD с разной скоростью обучения (ось X — количество эпох):

Вам обязательно следует ознакомиться с приведенным ниже руководством по оптимизации машинного обучения (включая Адама):

Проекты по программированию

ggtext — Улучшенный рендеринг текста для ggplot2

Это для всех пользователей R в нашем сообществе. И особенно всем вам, кто регулярно работает с потрясающим пакетом ggplot2 (то есть практически всем).

Пакет ggtext позволяет нам создавать форматированный текст для генерируемых нами графиков. Вот несколько вещей, которые вы можете попробовать с помощью ggtext:

  • Новый элемент темы под названием element_markdown() отображает текст как уценку или HTML.
  • Вы можете включать изображения на ось (как показано на рисунке выше)
  • Используйте geom_richtext() для создания меток уценки/HTML (как показано ниже)

Репозиторий GitHub содержит несколько интуитивно понятных примеров, которые вы можете воспроизвести на своем компьютере.

ggtext пока недоступен через CRAN, поэтому вы можете загрузить и установить его с GitHub с помощью этой команды:

Хотите узнать больше о ggplot2 и о том, как работать с интерактивными графиками в R? Ну вот:

Конечные примечания

Мне нравится работать над этими ежемесячными статьями. Количество исследований и, следовательно, прорывов, происходящих в науке о данных, просто невероятно. Независимо от того, с какой эпохой или стандартом вы сравниваете его, быстрый прогресс ошеломляет.

Какой проект по науке о данных показался вам наиболее интересным? Будете ли вы пробовать что-нибудь в ближайшее время? Дайте мне знать в разделе комментариев ниже, и мы обсудим идеи!

Первоначально опубликовано на https://www.analyticsvidhya.com 2 сентября 2019 г.