- PVSM.RU - https://www.pvsm.ru -
С момента прошлой публикации пришлось примеряться к ряду различных задач, связанных тем или иным образом с обработкой данных. Задачи совершенно разные, но во всех случаях инструменты R позволили элегантно и эффективно их решить. Ниже, собственно, кейсы (картинок нет).
Постановка проектной задачи проста. Необходимо провести экспертный анализ документов, доступных только по запросам на веб портале и по относящимся к исходной задаче составить аналитический отчет. Звучит просто если бы не следующие нюансы:
Группа «классических» аналитиков засучили рукава и ушли в сверхурочный режим чтения и ручной обработки документов. Ни времени ни желания убеждать в ущербности этого подхода не было.
Мы пошли другим путем, а именно, веб-скраппинг средствами R. По поводу веб-скраппинга в интернете и на хабре достаточно много материалов, не буду повторяться. Пример подобной публикации на хабре: «Web Scraping с помощью python» [1].
В классическом подходе для подобных задач используют PerlPython, но мы решили не делать микс из инструментов, а использовать R в боевых условиях. Задача была решена более чем успешно в таких конечных метриках:
Несмотря на то, что документы генерировались динамически (JS), удалось найти лазейку по получению 1-ой страницы, а там были все необходимые атрибуты, и тем самым обойтись без SeleniumPahntomJS. Это существенно ускорило процесс сбора данных.
Более того, поскольку веб-запросы работают в асинхронном режиме, задача была распараллелена (средствами R). Время ~8 часов указано для исполнения на 4-х ядрах, так оно было бы раза в 3 дольше.
Группа «классических» аналитиков упорно продолжает работать...
library(lubridate)
library(dplyr)
library(tidyr)
library(tibble)
library(readr)
library(stringi)
library(stringr)
library(jsonlite)
library(magrittr)
library(curl)
library(httr)
library(xml2)
library(rvest)
library(iterators)
library(foreach)
library(doParallel)
library(future)
Постановка задачи также очень проста.
Есть технологическая линия по производству из сырья продукта. В ходе технологического процесса сырье подвергается различной физической обработке, а именно, пресс, формование, хим. обработка, нагрев… Метрики на отдельных процесса измеряются с разной периодичностью, и разными способами. Где-то автоматически, где-то, вручную, например, лабораторный контроль исходного сырья. Совокупно метрик ~50-60 шт. Длительность процесса составляет 1.5-2 часа.
Задача — получить выходную продукцию с заданными физическими параметрами.
Сложности возникают, когда опускаемся чуть ниже:
Необходимо правильно выставлять параметры линии сразу со старта производства заказа и корректировать их по мере тех. процесса для нивелирования возможных флуктуаций в процессе производства.
Что имели на входе:
Сложная для обычных средств задача средствами R решилась в 2 шага:
Полученная точность прогнозирования параметров выходной продукции в размере 3-5% оказалась вполне достаточной и адекватной нормативам.
Для справедливости необходимо отметить, что это все было выполнено в режиме «proof-of-concept». После демонстрации решаемости «нерешаемой» задачи и чуть более детальной проработки решения акцент сместился в область улучшения процедур измерения технических параметров. Это как раз тот случай, когда оперативное применение R позволило расчистить сознание от вторичных цифровых задач и вернуться к первичным проблемам физического мира.
library(dplyr)
library(lubridate)
library(ggplot2)
library(tidyr)
library(magrittr)
library(purrr)
library(stringi)
library(stringr)
library(tibble)
library(readxl)
library(iterators)
library(foreach)
library(doParallel)
library(zoo)
library(randomForest)
Постановка задачи:
Совокупно может быть несколько сотен тысячмиллионов записей по всем объектам, подлежащим анализу.
Необходимо:
Предполагаемые пути решения до начала PoC на базе R:
Да, задача масштабная просто потому что много данных и отчетов, отнюдь не на 2 дня.
Для доказательства реализуемости провели за неделю «proof-of-concept» на базе R.
В рамках PoC охватили:
В целом, по результатам пилота было получено подтверждение технической реализуемости всех требований; обрисован потенциал по развитию; получены оценки по трудозатратам на реализацию с применением R. Оценки по сравнению с SAP ниже на порядок и более. Возможности по автоматизации и настройке многократно превышают все прочие решения.
library(dplyr)
library(lubridate)
library(ggplot2)
library(tidyr)
library(magrittr)
library(purrr)
library(stringi)
library(stringr)
library(tibble)
library(readxl)
library(iterators)
library(foreach)
library(doParallel)
library(zoo)
library(gtable)
library(grid)
library(gridExtra)
library(RColorBrewer)
library(futile.logger)
Факты есть факты. Можно в R верить, можно не верить; можно сомневаться в возможностях; можно по сто раз проверять и дожидаться, пока с трибун не возвестят, что действовать надо так… Но те, кто наберутся смелости и терпения и заменят старые подходы по обработке данных на платформу R получат многократную экономию и преимущества здесь и сейчас.
Предыдущий пост: «Применение R для подготовки и передачи «живой» аналитики другим бизнес-подразделениям» [2]
Автор: i_shutov
Источник [3]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/data-mining/212863
Ссылки в тексте:
[1] «Web Scraping с помощью python»: https://habrahabr.ru/post/280238/
[2] «Применение R для подготовки и передачи «живой» аналитики другим бизнес-подразделениям»: https://habrahabr.ru/post/312632/
[3] Источник: https://habrahabr.ru/post/315870/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.