Алгоритмы интеллектуального анализа данных специалисты Microsoft начали встраивать в службы аналитики (Analysis Services) со времен SQL Server 2000. Я вспоминаю, как более 10 лет назад учился применять прогнозирующие модели к анализу сегментов розничного потребительского рынка и возврата потребительских товаров на примере демонстрационной версии программы, реализующей алгоритм принятия решения о том, является ли данный гриб ядовитым. В последних выпусках SQL Server интеллектуальный анализ данных (Data Mining) служб аналитики SQL Server (SSAS) не получил значительного развития, но надстройки для Excel продолжают совершенствоваться, и обеспечена их совместимость с 64-разрядными Excel 2010 и 2013 (см. экран 1). Тем, кто не знаком с возможностями базовой технологии интеллектуального анализа данных SSAS (SSAS Data Mining), предлагаю просмотреть открытое учебное пособие по интеллектуальному анализу данных Microsoft (http://technet.microsoft.com/en-us/library/bb677206.aspx).

 

Надстройки для Excel
Экран 1. Надстройки для Excel

Несомненное достоинство SSAS Data Mining – простота построения прогнозирующих моделей и встраивания прогнозирующих запросов на языке расширения интеллектуального анализа данных (DMX) в приложения и отчеты. Я встраивал прогнозирующие запросы в алгоритмы определения подделок чеков, анализа выплат страхового обеспечения в здравоохранении, изучения сегментов потребительского рынка и прочие сценарии. У меня есть реальный пример комбинации прогнозирующих DMX-запросов служб аналитики Microsoft SQL Server с Tableau, наглядно демонстрирующий имеющиеся возможности.

При всех достоинствах базовой технологии SSAS Data Mining, уже на протяжении нескольких лет Microsoft не вкладывает в нее значительных средств, что замедляет развитие языка PMML и других компонентов. Мне известны случаи, когда у клиентов возникали проблемы совместимости со средствами разработки SQL Server 2012 Data Tools, а также трудности с получением своевременной поддержки для стареющего базового продукта. Эти и многие другие причины заставляют рекомендовать использование Predixion.

Predixion Insight: новые возможности для интеллектуального анализа данных SQL Server

Predixion – решение от партнера Microsoft, дополняющее базовую технологию SSAS Data Mining возможностями, давно внесенными мною в «список пожеланий». Predixion Insight имеет отличную поддержку и значительно более широкие возможности, чем базовый продукт Microsoft. Недавно мне посчастливилось опробовать последний выпуск Predixion Insight при непосредственном участии Джейми Макленнана, соучредителя и технического директора Predixion Software (www.predixionsoftware.com/). Ранее Макленнан руководил разработкой SSAS и возглавлял работы над платформой SQL Server Data Mining. Ниже приведен обзор возможностей самой последней версии Predixion Insight.

Возможности Predixion Insight реализуются через надстройку для Excel на сервере и в «облаке». Как дополнение для базовой технологии SSAS Data Mining, Predixion Insight начиная с версии 3.0 работает также с R и Mahout через подключаемую библиотеку функций машинного обучения, что является ключевым отличием продукта.

Удобная надстройка Predixion для Excel имеет две новые вкладки – INSIGHT NOW и INSIGHT ANALYTICS. Вкладка INSIGHT NOW включает усовершенствованные средства анализа таблиц (Table Analysis Tools). Компоненты, используемые для анализа ключевых факторов влияния (Analyze Key Influencers), обнаружения категорий (Detect Categories) и анализа покупательского поведения (Market Basket), усовершенствованы. В частности, отчеты по результатам анализа ключевых факторов влияния теперь несут более детальную информацию, представленную в удобной форме.

Большая часть компонентов, представляющих интерес для специалистов по анализу данных, находится на вкладке INSIGHT ANALYTICS. Перечислим некоторые усовершенствования, расширяющие возможности базового продукта Microsoft:

  • Применение PowerPivot в качестве источника данных – замечательная возможность для профилирования данных, использование которой я мог наблюдать в проектах, не имеющих прогнозирующего характера.
  • Упрощение использования внешних источников данных для решения задач прогнозирования.
  • Возможность выполнения оценочного подсчета (скоринга) внутри базы данных.
  • Возможности выборки, дискретизации и маркировки данных, включая новый язык прогнозирующих аналитических выражений (PAX), обеспечивающий более рациональное разбиение данных.
  • Дополнительные возможности нормализации данных и добавления вычисляемых полей с библиотекой статистических функций.
  • Ссылка для перехода в магазин Predixion (www.predixionmarketplace.com/d), где можно опубликовать или позаимствовать разработанные прогнозирующие модели для ускорения решения задачи.
  • Ссылка для перехода на Predixion Server или «облако» для централизации, коллективного использования и совместной работы над построением моделей – функциональная рабочая среда Insight Workbench для разработки прогнозирующих моделей.

Полный список получился бы слишком длинным. Представление обо всех достоинствах Predixion Insight 3.1 можно получить, изучив онлайн-документацию (www.predixionsoftware.com/predixion/Help/webframe.html#index.html).

Одной из замечательных возможностей, отсутствующих в базовом продукте Microsoft, является доступность основной статистической информации о переменных прогнозирующей модели и взаимодействии переменных. Predixion Insight позволяет одним щелчком мыши отобразить распределения переменных, основные статистические показатели и корреляционные взаимосвязи с другими переменными прогнозирующей модели.

Прочие улучшения включают повышение производительности моделей, усовершенствованные средства исследования и просмотра данных и интерактивный анализ возможных вариантов (см. экран 2).

 

Анализ возможных вариантов
Экран 2. Анализ возможных вариантов

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

Встраивание Predixion Insight

Единственная область, которая представляется более сложной, чем при использовании базового продукта Microsoft, связана с API для встраивания прогнозирующих запросов. Для Predixion Insight предусмотрены следующие варианты реализации возможностей, аналогичных встраиванию DMX-запросов.

1. API Predixion можно запустить для строки данных (одноэлементный запрос), пакета данных или с использованием указателя на внешний источник данных (например, таблицу базы данных или хранилище Hadoop hdfs:// store). Из приложения прогнозирующий запрос запускается аналогично DMX-запросу Analysis Services (по подобному ADO.NET соединению), с использованием параметров и выводом результатов. Запрос имеет представление XML. Из программы моделирования (например, Excel) запрос, представляемый в виде макроса Visual в табличном формате, легко копируется в SSIS ETL или в другие приложения. Можно выполнить одноэлементный запрос в реальном времени из Excel посредством API VBA, либо из. NET-приложения. Прогнозирующий вызов из API VB в реальном времени выглядит следующим образом:

Dim pred As New PredixionVBA.Prediction
‘ Specify the target MLSM and Model
pred.Application = «Bike Buyer Demo Application»
pred.Model = «BikeBuyer_Classification»
‘ Add singleton inputs
pred.Inputs.AddField «Age», 35
pred.Inputs.AddField «Gender», «M«
‘ specify desired output
pred.Outputs.Add (»PredictProbability([Purchased Bike], 1)»)
‘ execute prediction and collect result
Set result = pred.Execute

Весь оценочный подсчет (скоринг) выполняется внутри кода Predixion без обращения к библиотеке, используемой для машинного обучения. Весь цикл, вмещающий MLSM, преобразование данных, выполнение кода и оценочного подсчета для модели, относится к сфере деятельности Predixion, поэтому его можно выделить в пакет и внедрить в приложение.

2. В качестве альтернативы Predixion Insight предусматривает оценочный подсчет внутри базы данных с использованием хранимых процедур SQL в среде CLR. MLSM можно загрузить с сервера Predixion и ввести в процесс кода. NET или Java для оценочного подсчета в реальном времени без сетевой задержки (еще одно преимущество по сравнению с DMX-запросами с использованием Analysis Services в базовом варианте), вероятность которой попросту исключается. Код оценочного подсчета может выполняться внутри определенной базы данных, такой как SQL Server (через SQLCLR), Greenplum (Java UDFs) или Hadoop (Java), что позволяет исключить задержку. Если разработчик желает заменить выполнение запроса на стороне сервера на локальное выполнение, достаточно лишь дополнить код несколькими строчками:

using (IDbCommand icmd = cn.CreateCommand() )
{
PredixionCommand cmd = icmd as PredixionCommand;
cmd.ScoringExecutionMode = PredixionCommand.ScoringQueryExecutionMode.LocalExecution;
// Download the MLSM and execute it locally
cmd.CachedExecutionPlanExpiration = new TimeSpan(0, 0, 10);
// the MLSM should be checked for updates every 10 seconds
cmd.CommandText = query;

Простота составления и встраивания прогнозирующих запросов имеет большое значение. Прочие возможности встраивания для Predixion включают:

  • API для VBA;
  • компоненты для пакетов SSIS ETL;
  • возможность обмена моделями PMML версий с 2.0 по 4.0;
  • поддержку ODBC, что позволяет выполнять запросы к рабочим результатам Predixion.

Желающие самостоятельно опробовать Predixion и оценить, насколько это решение расширяет возможности базового продукта SSAS Data Mining, могут загрузить пробную версию Predixion Insight Developer и пройти пошаговые разборы (http://kingjoypenx/PredixionWeb/Help/webframe.html#Walkthrough I — Preparing Excel Data with Insight Workbench.html). Predixion Insight совместим с современными технологиями Microsoft, включая Office 365, Excel 2013, Windows 8 и SQL Server 2012.