Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SQLServer08_DM_Nesterov

.pdf
Скачиваний:
166
Добавлен:
07.02.2016
Размер:
16.46 Mб
Скачать

На правах рукописи

С. А. НЕСТЕРОВ

Интеллектуальный анализ данных средствами MS SQL Server 2008

Санкт-Петербург

2011

Нестеров С.А. Интеллектуальный анализ данных средствами MS

SQL Server 2008: учеб.пособие. – 261 с.

Пособие посвящено использованию технологии интеллектуального анализа данных (Data Mining, DM) и ее реализации в Microsoft SQL Server 2008 (2008 R2) и связанных продуктах. Рассматриваются алгоритмы DM,

поддерживаемые Microsoft SQL Server 2008 (2008 R2), надстройки интеллектуального анализа данных для Microsoft Office, основы языка DMX (Data Mining eXtensions to SQL). Наряду с теоретическими материалами, пособие включает описания 16 лабораторных работ, позволяющих выработать практические навыки решения задач интеллектуального анализа данных.

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

Работа выполнена при финансовой поддержке в форме гранта компании Майкрософт и Интернет-Университета Информационных Технологий (ИНТУИТ.РУ).

ОГЛАВЛЕНИЕ

 

СПИСОК ПРИНЯТЫХ СОКРАЩЕНИЙ ...............................................

6

ВВЕДЕНИЕ................................................................................................

7

1. ОСНОВЫ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ.......

8

1.1. Базовые понятия и основные задачи................................................

8

1.2. Интеллектуальный анализ данных в СУБД на примере Microsoft

SQL Server ..........................................................................................................

13

1.3. Этапы проведения интеллектуального анализа данных ..............

18

2. КРАТКИЙ ОБЗОР АЛГОРИТМОВ ИНТЕЛЛЕКТУАЛЬНОГО

 

АНАЛИЗА ДАННЫХ .......................................................................................

23

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

23

2.2. Деревья решений ..............................................................................

26

2.3. Линейная регрессия .........................................................................

29

2.4. Анализ временных рядов ................................................................

30

2.5. Кластеризация ..................................................................................

34

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

37

2.7 Кластеризация последовательностей ..............................................

39

2.8. Нейронные сети................................................................................

41

2.9. Логистическая регрессия.................................................................

44

3. ОСНОВНЫЕ КОНСТРУКЦИИ ЯЗЫКА DMX................................

46

3.1. Базовые понятия языка DMX, типы данных и содержимого ......

46

 

3

3.2.Создание структуры интеллектуального анализа..........................

55

3.3. Создание модели интеллектуального анализа данных ................

59

3.4. Обработка, очистка, удаление и восстановление структур и

 

моделей...............................................................................................................

63

3.5. Язык DMX: запросы ........................................................................

72

3.6. Язык DMX: прогнозирующие запросы..........................................

79

4. ОСОБЕННОСТИ ИСПОЛЬЗОВАНИЯ ВСТРОЕННЫХ

 

АЛГОРИТМОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА СУБД MS SQL

 

SERVER 2008.....................................................................................................

86

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

86

4.2 Деревья решений и линейная регрессия .........................................

88

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

92

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

97

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

101

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

103

4.7. Алгоритмы нейронных сетей и логистической регрессии ........

105

5. ЛАБОРАТОРНЫЕ РАБОТЫ ...........................................................

110

5.1. Работа 1. Надстройки интеллектуального анализа данных для

Microsoft Office ................................................................................................

110

5.2. Работа 2. Использование инструментов «Analyze Key

 

Influencers» и «Detect Categories» ..................................................................

118

5.3. Работа 3. Использование инструментов «Fill From Example» и

«Forecast». ........................................................................................................

127

4

5.4. Работа 4. Использование инструментов «Highlight Exceptions» и

«Scenario Analysis». .........................................................................................

135

5.5. Работа 5. Использование инструментов «Prediction Calculator» и

«Shopping basket Analysis» .............................................................................

146

5.6. Работа 6. Использование инструментов Data Mining Client для

Excel 2007 для подготовки данных ...............................................................

155

5.7. Работа 7. Использование инструментов Data Mining Client для

Excel 2007 для создания модели интеллектуального анализа данных .....

165

5.8. Работа 8. Анализ точности прогноза и использование модели

 

интеллектуального анализа ............................................................................

171

5.9. Работа 9. Построение модели кластеризации, трассировка и

 

перекрестная проверка....................................................................................

181

5.10. Работа 10. Начало работы в BI Dev Studio ................................

192

5.11. Работа 11. Создание представления источника данных ..........

200

5.12. Работа 12. Создание структуры и модели интеллектуального

анализа. Задача кластеризации ......................................................................

210

5.13. Работа 13. Задача классификации. Создание структуры и

 

моделей интеллектуального анализа. Сравнение точности моделей ........

226

5.14. Работа 14. Просмотр моделей интеллектуального анализа

 

(деревья решений, упрощенный алгоритма Байеса, нейронные сети).

 

Написание «одноэлементных» прогнозирующих запросов .......................

235

5.15. Работа 15. Работа с моделями интеллектуального анализа

 

данных из SQL Server Management Studio ....................................................

244

5.16. Работа 16. Использование алгоритма Microsoft Time Series для

прогнозирования значений временных рядов ..............................................

250

БИБЛИОГРАФИЧЕСКИЙ СПИСОК .................................................

259

 

5

СПИСОК ПРИНЯТЫХ СОКРАЩЕНИЙ

БД – база данных СУБД – система управления базами данных

BI Dev Studio (от англ. Business Intelligence Development Studio) – ин-

струментальная среда разработки аналитических решений, поставля-

емая вместе с Microsoft SQL Server 2008

DM (от англ. Data Mining) – интеллектуальный анализ данных

DMX (от англ. Data Mining Extensions to SQL) – язык расширений ин-

теллектуального анализа данных

EM (англ. Expectation-maximization) – максимизация ожиданий, алгоритм кластеризации

PMML (англ. Predictive Model Markup Language) – язык разметки про-

гнозирующих моделей

SQL (от англ. Structured Query Language) – язык структурированных запросов, используемый при работе с реляционными СУБД

6

ВВЕДЕНИЕ

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

Data Mining).

В пособии системно излагаются основы интеллектуального анализа данных средствами современных систем управления базами данных (СУБД). В качестве примера выбрана СУБД Microsoft SQL Server 2008.

Пособие состоит из пяти разделов, в которых рассматриваются основные задачи интеллектуального анализа данных, распространен-

ные алгоритмы, язык запросов DMX (Data Mining eXtensions to SQL),

особенности проведения анализа в среде СУБД Microsoft SQL Server 2008. Наряду с теоретическими материалами, пособие включает описания 16 лабораторных работ, позволяющих выработать практические навыки решения задач интеллектуального анализа данных.

7

1. ОСНОВЫ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ

1.1. БАЗОВЫЕ ПОНЯТИЯ И ОСНОВНЫЕ ЗАДАЧИ

Целью интеллектуального анализа данных (англ. Data mining, другие варианты перевода – «добыча данных», «раскопка данных») является обнаружение неявных закономерностей в наборах данных. Как научное направление он стал активно развиваться в 90-х годах XX века, что было вызвано широким распространением технологий автоматизированной обработки информации и накоплением в компьютерных системах больших объемов данных [1,2]. И хотя существующие технологии позволяли, например, быстро найти в базе данных нужную информацию, этого во многих случаях было уже недостаточно. Возникла потребность поиска взаимосвязей между отдельными событиями среди больших объемов данных, для чего понадобились методы математической статистики, теории баз данных, теории искусственного интеллекта и ряда других областей.

Классическим считается определение, данное одним из основателей направления Григорием Пятецким-Шапиро [2]: Data Mining – исследование и обнаружение «машиной» (алгоритмами, средствами искусственного интеллекта) в сырых данных скрытых знаний, которые ранее не были известны, нетривиальны, практически полезны, доступны для интерпретации.

Учитывая разнообразие форм представления данных, используемых алгоритмов и сфер применения, интеллектуальный анализ данных может проводиться с помощью программных продуктов следующих классов:

-специализированных «коробочных» программных продуктов для интеллектуального анализа;

-математических пакетов;

8

-электронных таблиц (и различного рода надстроек над ними);

-средств интегрированных в системы управления базами данных (СУБД);

-других программных продуктов.

В рамках данного курса нас в первую очередь будут интересовать средства, интегрированные с СУБД. В качестве примера можно привести СУБД Microsoft SQL Server (MS SQL Server) и входящие в ее состав службы Analysis Services, обеспечивающие пользователей средствами аналитической обработки данных в режиме on-line (OLAP) и интеллектуального анализа данных, которые впервые по-

явились в MS SQL Server 2000.

Не только Microsoft, но и другие ведущие разработчики СУБД имеют в своем арсенале средства интеллектуального анализа данных.

Задачи интеллектуального анализа данных

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

Рассмотрим основные задачи интеллектуального анализа дан-

ных.

Задача классификации заключается в том, что для каждого варианта определяется категория или класс, которому он принадлежит. В качестве примера можно привести оценку кредитоспособности потенциального заемщика: назначаемые классы здесь могут быть «кредитоспособен» и «некредитоспособен». Необходимо отметить, что для решения задачи требуется, чтобы множество классов было известно заранее и было бы конечным и счетным.

9

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

Отдельно выделяется задача прогнозирования новых значений на основании имеющихся значений числовой последовательности

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

Тут требуется сделать небольшое отступление. По способу решения задачи интеллектуального анализа можно разделить на два класса: обучение с учителем (от англ. supervised learning) и обучение без учителя (от англ. unsupervised learning). В первом случае, требуется обучающий набор данных, на котором создается и обучается модель интеллектуального анализа. Готовая модель тестируется и впоследствии используется для предсказания значений в новых наборах данных. Иногда в этом же случае говорят об управляемых алгоритмах интеллектуального анализа. Задачи классификации и регрессии относятся как раз к этому типу.

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

Также можно говорить о классификации задач интеллектуального анализа данных по назначению[2], в соответствии с которой, они делятся на описательные (от англ. descriptive) и предсказательные (от англ. predictive). Цель решения описательных задач – лучше понять исследуемые данные, выявить имеющиеся в них закономерности, даже если в других наборах данных они встречаться не будут. Для предсказательных задач характерно то, что в ходе их решения на основа-

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]