31 января 2016

Интересное из мира R (1-31 января 2016 г.)



  • Тал Галили (Tal Galili), автор известного агрегатора r-bloggers.com, опубликовал список 100 статей, которые были наиболее популярны среди читателей его сайта в 2015 г.
  • По всему миру действуют многочисленные "группы пользователей R" ("R User Groups") - неформальные сообщества приверженцев этого языка программирования, которые периодически организовывают встречи для обмена опытом и завязывания личных знакомств. На этих встречах часто можно увидеть очень полезные примеры кода для решения самых разнообразных задач. Как выяснилось, многие сообщества имеют соответствующие GitHub-страницы с подобными примерами кода. Джозеф Рикерт (Joseph Rickert) сделал небольшой обзор таких GitHub-страниц.
  • На CRAN'е опубликован новый пакет - rsvg, позволяющий создавать высококачественные изображения в формате SVG, а также конвертировать эти изображения во многие другие распространенные графические форматы без потери качества. Примеры использования этого пакета можно найти в блоге проекта OpenCPU.
  • В блоге компании Win-Vector опубликована полезная статья с подробными примерами по организации параллельных вычислений при помощи R на нескольких машинах (средствами пакета parallel).
  • Компания RStudio объявила о релизе новой версии пакета Shiny (v0.13.0). Эта версия содержит целый ряд нововведений, включая "Shiny-модули", "Shiny-гаджеты", HTML-шаблоны, новые JavaScript-события и др.
P.S.: Недавно я наткнулся на очень интересную статью Дэвида Донохо (David Donoho) "50 Years of Data Science", в которой он пытается проанализировать суть популярного сегодня термина/явления "Data Science" и продемонстрировать связь этой "новой" дисциплины с классической статистикой и машинным обучением. Рекомендую!


25 декабря 2015

Пять наиболее важных событий в мире R по итогам 2015 г.



Как и в прошлом году, попытаюсь подвести некоторые итоги, перечислив пять наиболее важных, как мне кажется, событий и тенденций, имевших место в мире R в 2015 г. Если упустил что-то интересное, пожалуйста, сообщите об этом в комментариях.
  • Слияние Revolution Analytics с Microsoft. В январе Microsoft приобрела компанию Revolution Analytics, которая специализировалась на создании коммерческих решений для работы с большими данными на базе R. Это событие подтвердило большой интерес к R со стороны Microsoft (среди прочих соответствующих проектов/продуктов стоит отметить, например, платформу Microsoft Azure Machine Learning, интеграцию R в SQL Server 2016 и в инструмент Microsoft Power BI).
  • Запуск shinyapps.io в коммерческое использование. В феврале компания RStudio запустила в коммерческое использование платформу shinyapps.io, позволяющую очень быстро и удобно развертывать веб-приложения, написанные с использованием популярного фреймворка Shiny.
  • Разработка пакета SparkR в рамках проекта Apache Spark. Сегодня Apache Spark является одной из наиболее популярных платформ для организации эффективных вычислений над большими данными. В июне компания Databricks объявила о том, что разработка пакета SparkR, позволяющего работать с этой платформой непосредственно из среды R, станет частью самого проекта Apache Spark и все последующие версии платформы будут включать этот пакет.
  • Создание Консорциума R. В июне The Linux Foundation объявили о создании новой организации - R Consortium (Консорциум R). Эта новая некоммерческая организация ставит своей целью поддержку деятельности R Foundation и обеспечение финансирования для развития и продвижения R. Финансирование проектов Консорциума осуществляют такие крупные компании, как Microsoft, RStudio, TIBCO, Oracle, Alteryx, Google и др.
  • Появление новых ресурсов по R на русском языке. Не может не радовать тенденция роста популярности R на постсоветском пространстве, выражающаяся, помимо прочего, в появлении большого количества публикаций и целых онлайн-курсов на русском языке по работе с R. В частности, хотелось бы отметить следующие ресурсы:

Всех с наступающим Новым Годом! Добра и света вам и вашим близким!


29 ноября 2015

Интересное из мира R (16-29 ноября 2015 г.)



  • Аббревиатура API расшифровывается как "Application Programming Interface" (интерфейс программирования приложений). По сути, это способ доступа к функционалу одной программы из другой программы. Сегодня эта концепция используется сплошь и рядом, в том числе при разработке аналитических приложений и развертывании предсказательных моделей. В своем блоге Кристоф Вальдхаузер (Christoph Waldhauser) привел подробный пример того, как можно работать с различными API из среды R.
  • В продолжение предыдущего пункта, стоит сослаться на статью из блога Revolution Analytics, в которой приводится описание способов безопасного использования учетных данных пользователя при интеграции R-скриптов со сторонними API.
  • API позволяют наладить поток данных не только в среду R, но и в обратном направлении. Представьте, что вы создали некоторую модель при помощи R и теперь хотели бы использовать ее в каком-то другом приложении. Для этого существует много разных способов (например, можно воспользоваться такими R-пакетами, как httpuv, prairie, plumber, jug, а также платформами MS Azure Machine Learning и Domino). В блоге FishyOperations можно ознакомиться с примерами работы одного из перечисленных пакетов - jug.
  • В последнее время все большую популярность набирает H2O - платформа с открытым кодом для реализации целого ряда мощных алгоритмов машинного обучения. В значительной мере растущая популярность H2O обусловлена возможностью эффективной работы с данными большого объема даже на бытовых компьютерах. Помимо других языков, эта платформа предоставляет API для R (см. пакет h2o). В своем блоге Лонгхов Лэм (Longhow Lam) опубликовал подробную статью с примерами использования H2O в связке с R.
  • Как и ожидалось, компания Mango Solution запустила сайт Data Science Radar. Этот сайт позволяет специалистам в области анализа данных создать профиль своих навыков и представить его графически в виде "радара". Для составления профиля необходимо ответить на 24 вопроса. Мой профиль показан на картинке выше :)

P.S.: В последние пару месяцев новые статьи в этом блоге появлялись редко. Это было связано с тем, что практически все мое свободное время уходило на перевод книги "An Introduction to Statistical Learning". Если все пойдет по плану, то книга будет опубликована в начале следующего года, и тогда я вернусь в свой привычный режим "одна-статья-в-неделю". Следите за новостями!



03 октября 2015

Введение в словарный и семантический анализ документов (на примере предвыборных программ кандидатов в президенты Беларуси)



11 октября 2015 г. в Беларуси состоятся очередные президентские выборы. На высшую должность претендуют четыре кандидата, каждый из которых, естественно, опубликовал свою предвыборную программу в СМИ. Это хороший случай, чтобы продолжить начатую ранее тему и продемонстрировать дополнительные методы анализа текстовой информации. В частности, мы попытаемся ответить на следующие вопросы:

1) Насколько сходны программы кандидатов по своему словарному составу?
2) В чем именно заключается основная идея (или идеи) каждого документа?

Программы каждого кандидата без труда можно найти в Сети (файлы c текстом каждой программы, а также R-код для воспроизведения приведенных здесь примеров, доступны на GitHub):
Помимо перечисленных выше четырех документов в анализ были включены также программы А. Лукашенко за 2006 (lu06) и 2010 (lu10) годы. Включение этих дополнительных документов представляет интерес с точки зрения изучения эволюции тематики предвыборных обещаний действующего главы Беларуси.




20 сентября 2015

В Лондоне прошла конференция "Эффективные применения языка R - 2015"



На этой неделе в Лондоне прошла 2-я конференция "Effective Applications of the R Language (EARL)" ("Эффективные применения языка R"), организованная консалтинговой компанией Mango Solutions (первая конференция состоялась в прошлом году). EARL представляет собой форум, участники которого обмениваются опытом внедрения аналитических решений на основе R в бизнес-процессы.

Конференция началась с нескольких проводившихся параллельно практических семинаров: 1) "Integrating R and Python - an introduction to using both in a data analysis pipeline" ("Интегрирование R и Python - введение в использование обоих языков в анализе данных"); 2) "Current best practices in formal package development" ("Современный передовые методы формальной разработки пакетов"); "Introduction to Rcpp" ("Введение в Rcpp") и "Interactive reporting with R" ("Создание интерактивных отчетов при помощи R").