Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Покупка
Новинка
Артикул: 826019.01.99
Доступ онлайн
1 000 ₽
В корзину
Курс посвящен использованию технологии интеллектуального анализа данных (Data Mining) и ее реализации в Microsoft SQL Server 2008 и связанных программных продуктах. Рассматриваются все алгоритмы DM, поддерживаемые Microsoft SQL Server 2008, надстройки интеллектуального анализа данных для Microsoft Office, основы языка DMX.
Нестеров, С. А. Интеллектуальный анализ данных средствами MS SQL Server 2008 : краткий учебный курс / С. А. Нестеров. - Москва : ИНТУИТ, 2016. - 248 с. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2139093 (дата обращения: 16.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Интеллектуальный анализ данных средствами MS
SQL Server 2008

2-е издание, исправленное

Нестеров С.А.

Национальный Открытый Университет “ИНТУИТ”
2016

2
Интеллектуальный анализ данных средствами MS SQL Server 2008/ С.А. Нестеров - М.:
Национальный Открытый Университет “ИНТУИТ”, 2016

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

(c) ООО “ИНТУИТ.РУ”, 2012-2016
(c) Нестеров С.А., 2012-2016

3
Интеллектуальный анализ данных: базовые понятия

В лекции рассматривается понятие “интеллектуальный анализ данных”, описываются
основные задачи интеллектуального анализа и приводятся примеры использования в
разных отраслях деятельности.

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

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

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

специализированных “коробочных” программных продуктов для
интеллектуального анализа;
математических пакетов;
электронных таблиц(и различного рода надстроек над ними);
средств интегрированных в системы управления базами данных (СУБД);
других программных продуктов.

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

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

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

В ходе проведения интеллектуального анализа данных проводится исследование

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

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

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

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

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

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

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

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

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

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

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

Кластеризация относится к задачам обучения без учителя (или “неуправляемым”
задачам).

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

Данная задача также относится к классу “обучение без учителя”.

Анализ последовательностей или сиквенциальный анализ одними авторами
рассматривается как вариант предыдущей задачи, другими - выделяется отдельно.
Целью, в данном случае, является обнаружение закономерностей в
последовательностях событий. Подобная информация позволяет, например,
предупредить сбой в работе информационной системы, получив сигнал о наступлении
события, часто предшествующего сбою подобного типа. Другой пример применения -
анализ последовательности переходов по страницам пользователей web-сайтов.

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

В таблице 1.1 приведены примеры задач интеллектуального анализа данных из
различных областей. Более подробно некоторые из них будут рассмотрены в
последующих разделах курса. Кроме того, можно рекомендовать обратиться к
дополнительным источникам [1-4].

Таблица 1.1. Примеры применения интеллектуального анализа данных

Информационные

технологии
Торговля
Финансовая сфера

Классификация
Оценка
кредитоспособности

6
Регрессия
Оценка допустимого
кредитного лимита

Прогнозирование
Прогнозирование
продаж

Прогнозирование цен
акции

Кластеризации
Сегментация
клиентов

Сегментация
клиентов

Определения
взаимосвязей

Анализ
потребительской
корзины

Анализ
последовательностей

Анализ переходов по
страницам web-сайта

Анализ отклонений
Обнаружение
вторжений в
информационные
системы

Выявление
мошенничества с
банковскими картами

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

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

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

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

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

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

просмотра моделей интеллектуального анализа данных, управления ими и
построения прогнозов;

3. язык расширений интеллектуального анализа

данных(DataMiningeXtensionstoSQL,DMX).

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

8
Рис. 2.2.  Запуск SQL Server 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

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

9
Введем ряд понятий [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. Примеры использования алгоритмов интеллектуального анализа

Задача и пример
Подходящие алгоритмы

Прогнозирование дискретного атрибута.

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

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

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

10
Доступ онлайн
1 000 ₽
В корзину