Спонсор: Microsoft
Санкт-Петербургский государственный политехнический университет
Опубликован: 06.03.2012 | Доступ: свободный | Студентов: 2001 / 185 | Оценка: 4.00 / 4.00 | Длительность: 10:52:00
Специальности: Системный архитектор
Лекция 2:

Интеллектуальный анализ данных в СУБД MicrosoftSQLServer

< Лекция 1 || Лекция 2 || Лекция 3 >
Аннотация: В лекции рассматривается архитектура СУБД Microsoft SQL Server, место занимаемое в ней аналитическими службами, а также способы их взаимодействия с внешними приложениями. Приводится перечень алгоритмов интеллектуального анализа, входящих в поставку SQL Server 2008 и описываются имеющиеся различия между версиями СУБД.

Рассмотрим реализацию средств интеллектуального анализа данных в СУБД MicrosoftSQL Server. Как было отмечено в предыдущей лекции, решаются эти задачи службами AnalysisServices. На рисунке 2.1 схематично представлены компоненты СУБД MSSQLServer 2008 и выделена подсистема интеллектуального анализа данных [5].

Службы и компоненты СУБД Microsoft SQLServer 2008

Рис. 2.1. Службы и компоненты СУБД Microsoft SQLServer 2008

Службы AnalysisServices предоставляют следующие функции и средства для создания решений по интеллектуальному анализу данных:

  1. набор стандартных алгоритмов интеллектуального анализа данных;
  2. конструктор интеллектуального анализа данных, предназначенный для создания и просмотра моделей интеллектуального анализа данных, управления ими и построения прогнозов;
  3. язык расширений интеллектуального анализа данных(DataMiningeXtensionstoSQL,DMX).

Для работы с предоставляемыми средствами интеллектуального анализа используется среда BusinessIntelligenceDevelopmentStudio, сокращенно BIDevStudio ( рис. 2.2, 2.3).

Запуск SQL Server Business Intelligence Development Studio

Рис. 2.2. Запуск SQL Server Business Intelligence Development Studio
Создание нового проекта в Business Intelligence Development Studio

увеличить изображение
Рис. 2.3. Создание нового проекта в Business Intelligence Development Studio

Также 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 (указание на Майкрософт говорит о том, что это ее реализации алгоритмов, а приводимые английские названия понадобятся нам в дальнейшем):

  1. упрощенный алгоритм Байеса (Майкрософт) - MicrosoftNaiveBayes;
  2. алгоритм дерева принятия решений (Майкрософт) - MicrosoftDecisionTrees;
  3. алгоритм временных рядов (Майкрософт) - MicrosoftTimeSeries;
  4. алгоритм кластеризации (Майкрософт) - MicrosoftClustering;
  5. алгоритм кластеризации последовательностей (Майкрософт) - MicrosoftSequenceClustering;
  6. алгоритм взаимосвязей Майкрософт - MicrosoftAssociationRules;
  7. алгоритм нейронной сети (Майкрософт) - MicrosoftNeuralNetwork;
  8. алгоритм линейной регрессии (Майкрософт) - MicrosoftLinearRegression;
  9. алгоритм логистической регрессии (Майкрософт) - MicrosoftLogisticRegression.

Подробно с перечисленными алгоритмами мы познакомимся в следующих разделах, сейчас же приведем некоторые примеры использования интеллектуального анализа данных и соответствующие им алгоритмы [6].

Таблица 2.1. Примеры использования алгоритмов интеллектуального анализа
Задача и пример Подходящие алгоритмы
Прогнозирование дискретного атрибута.

Например, купит ли получатель целевой рассылки определенный продукт.

Алгоритм дерева принятия решений.

Упрощенный алгоритм Байеса.

Алгоритм кластеризации.

Алгоритм нейронной сети.

Прогнозирование непрерывного атрибута.

Например, прогноз продаж на следующий год.

Алгоритм дерева принятия решений.

Алгоритм временных рядов.

Прогнозирование последовательности.

Например, анализ маршрута перемещения по веб-узлу компании.

Алгоритм кластеризации последовательностей
Нахождение групп общих элементов в транзакциях.

Например, использование анализа покупательского поведения для предложения дополнительных продуктов заказчику.

Алгоритм взаимосвязей

Алгоритм дерева принятия решений

Нахождение групп схожих элементов.

Например, разбиение демографических данных на группы для лучшего понимания связей между атрибутами.

Алгоритм кластеризации.

Алгоритм кластеризации последовательностей.

Два слова надо сказать и о различиях в версиях СУБД 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). По ходу изложения материала, тема различия версий СУБД еще будет неоднократно затрагиватьсяи некоторые непонятные пока возможности будут подробно рассмотрены.

Таблица 2.2. Различия версий СУБД Microsoft SQLServer 2008 в области интеллектуального анализа данных
Возможность Enterprise/ Developer Standard
Стандартные алгоритмы Да Да
Средства интеллектуального анализа данных: мастера, редакторы, построители запросов Да Да
Перекрестная проверка Да
Модели на фильтрованных подмножествах структур интеллектуального анализа данных Да
Временные ряды: пользовательское объединение моделей ARTXP и ARIMA Да
Временные ряды: прогноз новых данных Да
Неограниченные параллельные запросы интеллектуального анализа данных Да
Дополнительная настройка алгоритмов Да
API-интерфейс для подключаемых модулей алгоритмов Да
Параллельная обработка модели Да
Временные ряды: прогноз перекрестных рядов Да
Неограниченные атрибуты для правил взаимосвязи Да
Прогнозирование последовательности Да
Множественные цели прогнозирования для упрощенного алгоритма Байеса, нейронной сети и логистической регрессии Да

В заключение рассмотрим схему взаимодействия аналитических служб SQLServer с внешними приложениями ( рис. 2.4) [13 ].

Схема взаимодействия аналитических служб SQLServer с внешними приложениями

Рис. 2.4. Схема взаимодействия аналитических служб SQLServer с внешними приложениями

На рисунке 2.4 видно, что внешние приложения, используя разнообразные средства (ADO.Net и др.) и протокол XMLA(XMLforAnalysis) "поверх" протоколаTCP или HTTP(характерно для web-решений) могут взаимодействовать с аналитическими службами. При этом, в зависимости от типа запроса, задействуется или подсистема OLAP,или подсистема интеллектуального анализа данных. Обрабатываться запросы интеллектуального анализа могут с помощью как стандартных алгоритмов Майкрософт, так и алгоритмов разработки третьих фирм. Результат посредством XMLA передается обратно приложению.

< Лекция 1 || Лекция 2 || Лекция 3 >