Интеллектуальный анализ данных в СУБД MicrosoftSQLServer
Рассмотрим реализацию средств интеллектуального анализа данных в СУБД MicrosoftSQL Server. Как было отмечено в предыдущей лекции, решаются эти задачи службами AnalysisServices. На рисунке 2.1 схематично представлены компоненты СУБД MSSQLServer 2008 и выделена подсистема интеллектуального анализа данных [5].
Службы AnalysisServices предоставляют следующие функции и средства для создания решений по интеллектуальному анализу данных:
- набор стандартных алгоритмов интеллектуального анализа данных;
- конструктор интеллектуального анализа данных, предназначенный для создания и просмотра моделей интеллектуального анализа данных, управления ими и построения прогнозов;
- язык расширений интеллектуального анализа данных(DataMiningeXtensionstoSQL,DMX).
Для работы с предоставляемыми средствами интеллектуального анализа используется среда BusinessIntelligenceDevelopmentStudio, сокращенно BIDevStudio ( рис. 2.2, 2.3).
Также SQLServer 2008 и 2008 R2 поддерживают создание, управление и использование моделей интеллектуального анализа данных из Microsoft Excel с помощью Надстроек интеллектуального анализа данных SQLServer 2008 для Office 2007. Надстройки свободно доступны для скачивания на сайте Microsoft по адресу (ссылка приводится для локализованной версии, возможно, выпущены более свежие версии): http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=a42c6fa1-2ee8-43b5-a0e2-cd30d0323ca3&displayLang=ru
Выполнению интеллектуального анализа данных с помощью надстроек посвящена первая часть лабораторных работ данного курса.
Введем ряд понятий [5]. Структура интеллектуального анализа данных может быть представлена как совокупность исходных данных и описания способов их обработки. Структура содержит модели, которые используются для анализа ее данных. В частности, одна структура может поддерживать несколько моделей. В структуре интеллектуального анализа данных можно выделить обучающий и проверочный набор данных, задав процентное отношение или объем данных.
Модель интеллектуального анализа данных представляет собой сочетание самих данных, алгоритма интеллектуального анализа данных и коллекции значений параметров и фильтров, управляющих использованием и обработкой данных. Модель интеллектуального анализа данных определяется на языке расширений интеллектуального анализа данных или с помощью мастера интеллектуального анализа данных в среде BI DevStudio.
Алгоритм интеллектуального анализа данных представляет собой механизм, создающий модель интеллектуального анализа данных. Чтобы создать модель, алгоритм сначала анализирует набор данных, осуществляя поиск определенных закономерностей и трендов. Алгоритм использует результаты этого анализа для определения параметров модели интеллектуального анализа данных. Затем эти параметры применяются ко всему набору данных, чтобы выявить пригодные к использованию закономерности и получить подробную статистику.
Ниже перечислены алгоритмы интеллектуального анализа данных, реализованные в Microsoft SQL Server 2008 R2 (указание на Майкрософт говорит о том, что это ее реализации алгоритмов, а приводимые английские названия понадобятся нам в дальнейшем):
- упрощенный алгоритм Байеса (Майкрософт) - MicrosoftNaiveBayes;
- алгоритм дерева принятия решений (Майкрософт) - MicrosoftDecisionTrees;
- алгоритм временных рядов (Майкрософт) - MicrosoftTimeSeries;
- алгоритм кластеризации (Майкрософт) - MicrosoftClustering;
- алгоритм кластеризации последовательностей (Майкрософт) - MicrosoftSequenceClustering;
- алгоритм взаимосвязей Майкрософт - MicrosoftAssociationRules;
- алгоритм нейронной сети (Майкрософт) - MicrosoftNeuralNetwork;
- алгоритм линейной регрессии (Майкрософт) - MicrosoftLinearRegression;
- алгоритм логистической регрессии (Майкрософт) - MicrosoftLogisticRegression.
Подробно с перечисленными алгоритмами мы познакомимся в следующих разделах, сейчас же приведем некоторые примеры использования интеллектуального анализа данных и соответствующие им алгоритмы [6].
Два слова надо сказать и о различиях в версиях СУБД Microsoft SQLServer 2008 и 2008 R2,в которых доступны средства интеллектуального анализа данных. Это версии Standard, Enterprise, а также версия для разработчиков Developer, функционально аналогичная Enterprise, но отличающаяся от нее лицензионными условиями использования. В таблице 2.2 приведены результаты сравнения возможностей (в соответствии со статьей MSDN "Возможности, поддерживаемые различными выпусками SQL Server 2008", http://msdn.microsoft.com/ru-ru/library/cc645993(v=SQL.100).aspx). По ходу изложения материала, тема различия версий СУБД еще будет неоднократно затрагиватьсяи некоторые непонятные пока возможности будут подробно рассмотрены.
Возможность | Enterprise/ Developer | Standard |
---|---|---|
Стандартные алгоритмы | Да | Да |
Средства интеллектуального анализа данных: мастера, редакторы, построители запросов | Да | Да |
Перекрестная проверка | Да | |
Модели на фильтрованных подмножествах структур интеллектуального анализа данных | Да | |
Временные ряды: пользовательское объединение моделей ARTXP и ARIMA | Да | |
Временные ряды: прогноз новых данных | Да | |
Неограниченные параллельные запросы интеллектуального анализа данных | Да | |
Дополнительная настройка алгоритмов | Да | |
API-интерфейс для подключаемых модулей алгоритмов | Да | |
Параллельная обработка модели | Да | |
Временные ряды: прогноз перекрестных рядов | Да | |
Неограниченные атрибуты для правил взаимосвязи | Да | |
Прогнозирование последовательности | Да | |
Множественные цели прогнозирования для упрощенного алгоритма Байеса, нейронной сети и логистической регрессии | Да |
В заключение рассмотрим схему взаимодействия аналитических служб SQLServer с внешними приложениями ( рис. 2.4) [13 ].
На рисунке 2.4 видно, что внешние приложения, используя разнообразные средства (ADO.Net и др.) и протокол XMLA(XMLforAnalysis) "поверх" протоколаTCP или HTTP(характерно для web-решений) могут взаимодействовать с аналитическими службами. При этом, в зависимости от типа запроса, задействуется или подсистема OLAP,или подсистема интеллектуального анализа данных. Обрабатываться запросы интеллектуального анализа могут с помощью как стандартных алгоритмов Майкрософт, так и алгоритмов разработки третьих фирм. Результат посредством XMLA передается обратно приложению.