05 ноября 2017

Обзор интересных R-пакетов за октябрь 2017 г.



  • fastrtext - R-интерфейс к библиотеке fastText, разработанной исследователями из Facebook. Эта библиотека предназначена для работы с текстовыми данными и построения моделей путем обучения с учителем и без учителя.
  • googleLanguageR - пакет для работы с несколькими API от Google для обработки естественных языков (в частности, Natural Language APICloud Speech API и Cloud Translation API).
  • JuliaCall - R-интерфейс к языку Julia.
  • OutliersO3 - набор методов для обнаружения выбросов в наборах данных с большим количеством переменных.
  • powerlmm - анализ мощности для панельных данных с двумя или тремя уровнями случайных эффектов.
  • re2r - пакет для работы с регулярными выражениями, в основе которого лежит алгоритм RE2 от Google. См. примеры здесь.
  • slowraker - реализация алгоритма RAKE, предназначенного для автоматического извлечения ключевых слов из отдельных текстовых документов. См. примеры здесь.
  • tscount - построение моделей для временных рядов, представленных счетными переменными.
  • udpipe - пакет для выполнения распространенных задач, возникающих при обработке естественных языков (выделение токенов, лемматизация, определение части речи и др.).
  • Здесь можно ознакомиться со списком из 44 пакетов для R, обеспечивающих доступ к источникам данных разной тематики.


08 октября 2017

Обзор интересных R-пакетов за сентябрь 2017 г. (и другие новости)



  • billboarder - R-интерфейс к billboard.js - JavaScript-библиотеке для интерактивной визуализации данных. См. примеры здесь и здесь.
  • blastula - хороший инструмент для формирования и отправки электронных писем с HTML-содержимым, которое будет правильно отображаться на любых устройствах. См. примеры здесь.
  • blogdown - пакет от RStudio, позволяющий использовать синтаксис R Markdown для подготовки статей для блогов. С полной документацией и примерами можно ознакомиться здесь.
  • cetcolor - набор хорошо воспринимаемых цветовых палитр, разработанных в соответствии с принципами, которые были описаны в работе Kovesi (2015).
  • esvis - набор функций для оценивания и визуализации "размера эффекта", вызванного тем или иным фактором (факторами) в экспериментальных и обсервационных исследованиях.
  • googledrive - набор утилит для работы с Google Drive из среды R.
  • Knoema - R-интерфейс к сервису Knoema, предоставляющему доступ к огромной коллекции публичных данных разной тематики (~2.5 миллиарда временных рядов из тысяч источников).
  • missRanger - реализация одного из эффективных алгоритмов заполнения пропущенных значений в наборах данных с разнотипными переменными.
  • skpr - инструмент для нахождения оптимального плана эксперимента. Имеется графический интерфейс, реализованный в виде Shiny-приложения.
  • spm - набор функций для моделирования пространственных данных с помощью как традиционных (random forests, GBM), так и гибридных методов машинного обучения.

Из других хороших новостей: в московском издательстве ДМК Пресс вышла книга "Машинное обучение с использованием библиотеки H2O" (ориг. назв. "Practical Machine Learning with H2O") в переводе, выполненным Андреем Огурцовым (автор блога "Биостатистика и язык R"). В аннотации к книге говорится следующее:

"Машинное обучение наконец-то достигло стадии зрелости. При помощи программного обеспечения H2O вы можете решать задачи машинного обучения и анализа данных с использованием простого в использовании и открытого (open source) фреймворка, который поддерживает большое количество операционный систем и языков программирования, а также масштабируется для обработки больших данных. Это практическое руководство научит вас использовать алгоритмы машинного обучения, реализованные в H2O, с упором на наиболее важные для продуктивной работы аспекты.

Если вы умеете программировать на R или Python, хотя бы немного знаете статистику и имеете опыт обработки данных, эта книга Даррена Кука познакомит вас с основами использования H2O и поможет вам поэкспериментировать с машинным обучением на наборах данных разного размера. Вы изучите несколько современных алгоритмов машинного обучения: глубокое обучение, «случайный лес», обучение на неразмеченных данных и ансамбли моделей.

Прочтя эту книгу, вы:

• узнаете, как импортировать данные в H2O, преобразовывать их и экспортировать их из H2O;
• изучите основные концепции машинного обучения, такие как перекрестная проверка и проверочные наборы данных;
• поработаете с тремя разными наборами данных, решая задачи регрессии, бинарной и многоклассовой классификации;
• используете H2O для анализа каждого набора данных при помощи четырех алгоритмов машинного обучения;
• поймете, как работает кластерный анализ и другие алгоритмы обучения на неразмеченных данных."

Следует добавить, что А. Огурцов выполнил не только отличный перевод книги, но и подготовил некоторые дополнительные и очень полезные материалы по H2O (в частности, по Deep Water), которые можно найти в соответствующем GitHub-репозитории.



23 сентября 2017

Отчет с конференции "Enterprise Applications of the R Language"



12-14 сентября в Лондоне прошла ежегодная конференция "Enterprise Applications of the R Language" (EARL) - один из наиболее значимых форумов, где пользователи R делятся своим опытом применения этой системы статистических вычислений для решения бизнес-задач.

Конференция традиционно началась с серии практических семинаров, которые в этом году были посвящены следующим темам:
  • Организация работы со Spark'ом в среде R с помощью пакета sparklyr
  • Работа с пакетом MicrosoftML
  • Веб-скрейпинг и анализ текстовых данных с помощью R
  • Работа с GitHub
  • Принципы написания функций в R
  • Введение в Shiny
В последующие два дня было представлено около 60 докладов с примерами использования R в самых разнообразных индустриях - страхование, банковское дело, маркетинг, программное обеспечение, спорт, медицина, автомобилестроение и др. Слайды этих сообщений можно найти на сайте конференции (см. раздел "Speakers"). Поделюсь некоторыми общими наблюдениями:
  • Два-три года назад было много обсуждений того, как основанные на R приложения можно запустить в производство. В этот раз таких обсуждений почти не было - то ли народ уже определился с "оптимальными" способами развертывания подобных приложений в своих организациях, то ли просто так получилось, что доклады были в основном посвящены другим темам. Одно из исключений - доклад вашего покорного слуги, в котором вместе с моим соавтором и коллегой Дмитрием Дерябиным мы привели детальный пример создания автоматизированного прогнозного приложения, написанного на R и развернутого в "облаке" Amazon с использованием целого ряда AWS-сервисов.
  • R начинают широко использовать в таких традиционно консервативных в отношении новых технологий индустриях, как банковское дело и страхование, а также в государственных организациях (во всяком случае, в Великобритании).
  • Фреймворк Shiny стал де-факто стандартом в мире R для создания интерактивных аналитических веб-приложений.

В представленных на конференции докладах было упомянуто большое количество интересных и полезных пакетов для R, на которые стоит обратить внимание, в частности: prophet, shiny.semantic, plumber, mlogit, ChoiceModelR, markovchain, keras, here, purrr, ChannelAttribution, dataCompareR.

Автор: Сергей Мастицкий




03 сентября 2017

Обзор интересных R-пакетов за август 2017 г.





17 августа 2017

Классический труд по глубокому обучению теперь доступен на русском языке



В издательстве ДМК Пресс вышла книга Я. Гудфеллоу и др. "Глубокое обучение", которая представляет собой один из наиболее полных и широко цитируемых трудов по этой (очень "горячей" сегодня) теме. В аннотации к книге говорится следующее:

"Глубокое обучение - это вид машинного обучения, наделяющий компьютеры способностью учиться на опыте и понимать мир в терминах иерархии концепций. Поскольку компьютер приобретает знания из опыта, отпадает нужда в человеке-операторе, который формально описывает необходимые компьютеру знания. Иерархическая организация позволяет компьютеру обучаться сложным концепциям, конструируя их из более простых; граф такой иерархии может содержать много уровней. В этой книге читатель найдет широкий обзор тем, изучаемых в глубоком обучении.

Книга содержит математические и концептуальные основы линейной алгебры, теории вероятностей и теории информации, численных расчетов и машинного обучения в том объеме, который необходим для понимания материала. Описываются приемы глубокого обучения, применяемые на практике, в том числе глубокие сети прямого распространения, регуляризация, алгоритмы оптимизации, сверточные сети, моделирование последовательностей, и др. Рассматриваются такие приложения, как обработка естественных языков, распознавание речи, компьютерное зрение, онлайновые рекомендательные системы, биоинформатика и видеоигры. Наконец, описываются перспективные направления исследований: линейные факторные модели, автокодировщики, обучение представлений, структурные вероятностные модели, методы Монте-Карло, статистическая сумма, приближенный вывод и глубокие порождающие модели.

Издание будет полезно студентами и аспирантам, а также опытным программистам, которые хотели бы применить глубокое обучение в составе своих продуктов или платформ."

P.S.: В качестве бонусной информации: на этой неделе на платформе начался новый курс-специализация по глубокому обучению. Курс разработан и преподается известным Эндрю Нг (Andrew Ng) в рамках его нового проекта deeplearning.ai