Содержание


Разработка приложения Shiny для анализа мнений о #Bluemix с помощью пользовательского пакета компоновки Bluemix R

Comments

Создайте приложение на основе R для оценки популярности двух разных объектов в Twitter и проведите анализ мнений по "твитам". Ознакомьтесь с методами определения популярности и узнайте, как создавать новые приложения в IBM Bluemix с использованием R.

word clouds for                     #Bluemix and #Heroku
word clouds for #Bluemix and #Heroku

Воспользуйтесь всей широтой возможностей аналитики R на основе Bluemix, чтобы сравнить популярность хеш-тегов в Twitter. Это очень просто благодаря пользовательскому пакету компоновки R на базе Bluemix!

Данное приложение использует серверную структуру Shiny для создания интерактивного, основанного на веб-технологиях метода визуализации результатов. Для запуска R на базе Bluemix применяется пользовательский пакет компоновки. Популярность R (занимающего 9-е место среди языков программирования в рейтинге IEEE Spectrum) в последнее время существенно возросла. Узнайте больше о возможностях его эффективного использования в Bluemix.

Что потребуется для создания приложения

Запустите приложениеПолучить код.

Шаг 1. Ответвление приложения из IBM DevOps Services

Выберите Получить код. для экспорта исходного кода из IBM DevOps Services:

  1. Войдите в среду DevOps,.
  2. Выберите Редактировать код (Edit Code).
  3. Выберите Разветвление (Fork) > Разветвление с созданием нового проекта JazzHub (Fork with a new JazzHub project) > Сохранить (Save).
Screen capture of                     Fork button
Screen capture of Fork button

Шаг 2. Подключение RStudio к IBM DevOps Services

Откройте RStudio с поддержкой функции управления версиями (при наличии установки Git). Для этого выполните следующие действия:

  1. Выберите Проект > Создать проект.... Screen capture of                     console for with Project and Create Project selected
    Screen capture of console for with Project and Create Project selected
  2. Выберите Управление версиями > Git. Screen capture of                     Create Project from Version Control
    Screen capture of Create Project from Version Control
  3. Введите URL-адрес хранилища в DevOps Services https://hub.jazz.net/git/crackmanworld/TwitterBluemix. Имя проекта выбирается автоматически. Укажите каталог, в котором нужно сохранить проект на компьютере.Screen capture of                     Clone Git Repository
    Screen capture of Clone Git Repository

Итак, ваш проект в RStudio создан. Применяя навыки программирования на языке R, можно внести изменения в приложение или создать новое аналогичное приложение Shiny.

Шаг 3. Передача приложения в Bluemix с помощью пользовательского пакета компоновки

Каталог Bluemix включает в себя более 15 пакетов компоновки с открытым исходным кодом, совместимых с Cloud Foundry.

Для данного приложения используйте пакет компоновки, разработанный для Heroku, но отлично работающий с Bluemix. Воспользуйтесь командой Ввести пакет компоновки (Bring Your Buildpack) . Код был изменен с учетом последней версии R, R 3.1.

  1. Посредством интерфейса командной строки выполните вход в Bluemix, используя код, приведенный ниже в качестве примера.
    C:\>cf login
    API endpoint: https://api.ng.bluemix.net
    Email> armand.ruiz@fr.ibm.com
    Password>
    Authenticating...
    OK
    Targeted org armand.ruiz@fr.ibm.com
    Targeted space dev
    API endpoint: https://api.ng.bluemix.net (API version: 2.4.0)
    User: armand.ruiz@fr.ibm.com
    Org: armand.ruiz@fr.ibm.com
    Space: dev
    C:\>
  2. Укажите, какой пользовательский пакет компоновки будет использоваться:
    > cf push [$NEW_APP_NAME] -b [$GIT_REPO_URL]
  3. Для данного приложения укажите [$GIT_REPO_URL] как:
    https://github.com/aruizga7/cf-buildpack-r
  4. Перейдите к каталогу, в котором сохранено приложение R Shiny, и передайте данное приложение в Bluemix с помощью пользовательского пакета компоновки R.
    C:\TwitterBluemix>cf push MyNewShinyApp -b https://github.com/aruizga7/cf-build
    Creating app MyNewShinyApp in org armand.ruiz@fr.ibm.com / space dev as armand.ruiz@fr.ibm.com...
    OK
    Creating route mynewshinyapp.mybluemix.net...
    OK
    Binding mynewshinyapp.mybluemix.net to MyNewShinyApp...
    OK
    Uploading MyNewShinyApp...

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

Шаг 4. Анализ Twitter с помощью R

Приложение сравнивает популярность двух объектов в Twitter и провоидт анализ мнений об этих двух объектах по "твитам". Для оценки популярности используются два метода, в основе которых лежат алгоритмы, заимствованные у Джеффри Стэнтона, Джеффри Брина и Гастона Санчеза (Jeffery Stanton, Jeffery Breen, Gaston Sanchez).

  • Приложение определяет вероятность появления нового "твита", касающегося указанного объекта, в течение определенного промежутка времени. Предполагается, что чем выше така вероятность, тем активнее ведется обсуждение данного объекта в Twitter. Высокая активность (частота) обсуждения позволяет предположить относительно более высокую популярность объекта.
  • Приложение сравнивает количество полученных "твитов" по каждому объекту за определенный промежуток времени. Затем оценивает характер обсуждения на Twitter - ведется ли оно в позитивном или в негативном ключе. Слова, употребляемые в "твитах" проверяются согласно списку терминов, определенных как позитивные или негативные, по результатам предыдущих исследований. Затем каждому "твиту" присваивается оценка, исходя из числа используемых терминов с позитивной и негативной окраской.

Ввод пользователем данных в приложение

  • Объект 1 и Объект 2: Объектами по умолчанию являются Bluemix и Heroku.
  • Число получаемых "твитов": В настоящем приложении используется пакет R, twitteR, использующий общедоступный API. Для того чтобы Twitter не блокировал приложение, максимальное число "твитов" ограничено до 50. Для того чтобы изменить это значение, отредактируйте код соответствующим образом.
  • Время (в секундах): Промежуток времени, используемый для оценки популярности. Расчет основывается на соотношении количества "твитов" по каждому объекту, полученных за определенный период времени.
Screen capture of                     user interface with sample values filled in
Screen capture of user interface with sample values filled in

Вывод результатов работы приложения

Результаты представлены в семи вкладках.

  • Вкладка 1: Отображается число полученных "твитов" и рассчитывается вероятность получения нового "твита" в течение определенного промежутка времени по обоим объектам. Screen capture shows                     number of tweets and line graph of probablity
    Screen capture shows number of tweets and line graph of probablity
  • Вкладка 2: Включает в себя три графика, наглядно отображающие распределение пауз между поступлением "твитов" по обоим объектам. На первом графике представлены прямоугольные участки и среднее значение распределения длительности пауз по обоим объектам. Второй и третий графики представляют собой гистограмму и функцию плотности распределения. Screen capture of                     three graphs
    Screen capture of three graphs
  • Вкладка 3: Столбчатая диаграмма, отражающая приблизительное соотношение количества "твитов", полученных по каждому объекту, если время задержки превышает указанное пользователем значение. Также рассчитывается доверительный интервал при доверительной вероятности 0,95 для приблизительной оценки данных соотношений. Screen capture of bar                 graph
    Screen capture of bar graph
    Screen capture of                     table of data
    Screen capture of table of data
  • Вкладка 4: Отображается анализ мнений по "твитам". Распределение оценок мнений (тональности высказываний) по полученным "твитам", касающимся обоих объектов, представлено в виде коробчатых диаграмм (более высокая оценка соответствует большей популярности). Также вычисляется среднее значение.Screen capture of                     box plots
    Screen capture of box plots
  • Вкладка 5: Представлены "облака слов", используемых в "твитах" по указанным объектам.
  • Вкладка 6 и 7: Содержат необработанные "твиты", полученные по двум объектам и используемые для генерирования результатов, отраженных в предыдущих пяти вкладках.

Шаг 5. Индивидуальная настройка приложения

R - это высокоэффективный и гибкий язык и платформа для анализа данных. Целый ряд различных пакетов позволяет выполнять любые виды анализа, доступные вашему воображению. Для того чтобы установить новые пакеты, добавьте их в файл R init.R, который запускается при передаче приложения в рабочую среду. Добавьте код для установки любого необходимого вам пакета. Приведенный ниже код используйте в качестве примера.

# Example `init.r` file
install.packages("twitteR",clean=T)
install.packages("stringr",clean=T)
install.packages("ROAuth",clean=T)
install.packages("RCurl",clean=T)
install.packages("ggplot2",clean=T)
install.packages("reshape",clean=T)
install.packages("tm",clean=T)
install.packages("RJSONIO",clean=T)
install.packages("wordcloud",clean=T)
install.packages("gridExtra",clean=T)

Если вы умеете программировать на R, то без труда сможете приступить к работе в среде Shiny; для этого существует множество учебных руководств.

Заключение

С помощью R можно выполнять все виды анализа данных, поступающих из самых разнообразных источников, таких как оперативные данные, например "твиты", или данные, хранящиеся в базе данных или в простом файле. С помощью среды Shiny можно обеспечить доступ к выполняемому анализу из интерактивных веб-приложений. Благодаря Bluemix можно развертывать и распространять такие приложения без особых усилий, использовать любые доступные службы и обеспечивать доступ к ним из любой точки мира в считанные секунды.

Теперь, познакомившись с основами работы с пользовательским пакетом компоновки R и выполнив простой анализ "твитов", вы можете использовать все преимущества аналитики Bluemix к другим приложениям. Не забудьте в комментариях сообщить нам о своих успехах!


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Большие данные и аналитика, Облачные вычисления
ArticleID=1014308
ArticleTitle=Разработка приложения Shiny для анализа мнений о #Bluemix с помощью пользовательского пакета компоновки Bluemix R
publish-date=10142015