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

Анализ точности прогноза и использование модели интеллектуального анализа

Показывать лекцию целиком

В предыдущей лабораторной работе мы создали модель для классификации клиентов магазина с целью определить, сделает ли данный клиент покупку или нет. Следующая задача - оценить точность построенной модели интеллектуального анализа. Для этого можно использовать инструменты из группы Accuracy and Validation (в русском варианте - Точность и Правильность).

(рис 15.1) Инструменты DataMiningClient

Диаграмма точности (-1 в работе №7).

Запустим инструмент -1). Если для одной структуры определены несколько моделей, по диаграмме можно будет провести их сравнительный анализ. Следующее окно (рис 15.2-2) служит для выбора предсказываемого параметра и его значения. В нашем случае параметр - -3). Сейчас выберем данные из модели. В случае указания таблицы Excel (что будем делать в упражнениях), надо описать соответствие столбцов в модели и используемой для тестирования таблице (рис 15.2-4). После этого будут сформированы и помещены на новый лист Excel диаграмма точности (рис 15.3) и таблица со значениями, представленными на диаграмме (рис 15.4).

На диаграмме красная линия соответствует идеальной модели, светло-зеленая - нашей модели, нижняя (синяя) линия - линия случайного выбора, всегда идет под углом 45 градусов.

1.
2.
3.(рис 15.2) Мастер построения диаграммы точности
4.
(рис 15.3) Диаграмма точности (AccuracyChart)

Данные на диаграмме и в таблице можно интерпретировать следующим образом. Пусть нам необходимо выбрать всех клиентов, которые сделают покупки. Формируемая идеальной моделью выборка объемом в 11% от числа исходных записей будет включать все 100% нужных записей (в тестовом множестве их видимо чуть меньше 11%). Случайная выборка объемом в 11% содержит 11% нужных записей, а выборка такого же объема, формируемая нашей моделью - 26,58%. В выборку в 25% от общего объема данных, наша модель поместит 52,7% "правильных" клиентов и т.д. Качество прогноза падает (горизонтальный участок зеленого графика) после обнаружения 76% интересующих случаев. При визуальном анализе - чем ближе график оцениваемой модели к идеальному, тем более точный прогноз она выдает.

(рис 15.4) Фрагмент таблицы с оценками точности прогноза Задание 1. Постройте диаграмму точности аналогичную той, что представлена выше (используемый файл - "Образцы данных Excel"). Дополнительно постройте диаграмму для BikeBuyer = "No". Объясните различие во внешнем виде графиков. Задание 2. В предыдущем задании для целей тестирования использовались данные из модели. Модель формировалась на данных из таблицы TrainingData. В таблице TestingData находятся 30% данных из исходного набора SourceData. Проверьте точность модели на наборе TestingData.

Анализируя график на рис 15.3 можно предположить, что у нас с моделью все хорошо. Но обратимся к еще одному инструменту анализа точности - ). Из нее видно, что созданная нами модель при тестировании на зарезервированных данных сделала 89,43% правильных прогнозов, что можно расценить как успех (потому и диаграмма точности на рис 15.3 выглядит хорошо).Но при этом в 100% случаев правильно предсказывала значение "No" и ошибочно "Yes". Иначе говоря, во всех случаях 100% ставится "No". И использовать такую модель для предсказания бессмысленно.

(рис 15.5) Матрица классификации Задание 3. Постройте матрицу классификации, проанализируйте полученный результат.

Проблема, с которой мы столкнулись, могла быть выявлена и раньше, если внимательно посмотреть на построенное дерево решений (рис 15.6). Но тогда не удалось бы продемонстрировать возможности DataMining по оценке точности модели.

(рис 15.6) Дерево решений

Из рис 15.6 видно, что все конечные узлы дерева дают решение BikeBuyer = "No" (ему соответствует синяя полоска на диаграмме характеризующей распределение ответов в обучающей выборке). Ответу "Yes" соответствует более короткая красная полоска, что говорит о том, что поддерживающих такой результат примеров было меньше. По всей видимости, это связано с тем, что таких примеров и вообще меньшинство в рассматриваемом наборе (около 10%).

Попробуем использовать обучающий набор большего объема и с более часто встречающимся значением BikeBuyer = "Yes". Откроем таблицу SourceData, где данных больше. Но процент интересующих нас записей остается таким же (это можно определить с помощью инструмента ExploreData).Поэтому воспользуемся инструментом SampleData (лабораторная №6), чтобы сформировать "избыточную" выборку из 2000 строк, где в 30% случаев BikeBuyer = "Yes". У полученного набора оставим автоматически назначенное название SampledData. С помощью инструмента Classify построим модель аналогично тому, как это было сделано в работе №7 (алгоритм - DecisionTrees, целевой параметр BikeBuyer, столбец ID при анализе не учитываем, остальные настройки по умолчанию). Полученное дерево решений представлено на рис 15.7. Оно проще предыдущего, но в зависимости от значений параметров может давать как прогноз "Yes", так и "No". "Yes" будет в том случае, если у клиента 0 машин и он из региона "Pacific".

(рис 15.7) Новое дерево решений

На основе нового набора данных также создадим модель для классификации, основанную на алгоритме -1, рис 15.8-2) будет видно, что модель на основе нейронных сетей дает более точный прогноз. Рассмотренный пример показывает, что в некоторых случаях точность прогноза можно повысить за счет специальной подготовки обучающей выборки и выбора наиболее подходящего алгоритма. Хотя учитывая относительно высокий процент ошибок, ни та, ни другая модель, наверное, не может быть признана удачной.

1.(рис 15.8) Матрицы классификации для дерева решений (1) и нейронных сетей (2)
2.
Задание. Проведите описанные в работе действия. Прокомментируйте результаты.

Запросы к модели DM

Теперь перейдем к самому интересному - построению запроса к модели интеллектуального анализа. Итак, на сервере есть модель, признанная пригодной для прогнозирования. В используемом нами файле Excel с данными для интеллектуального анализа есть таблица ). В ней есть все столбцы, которые были в наборе SourceData, кроме столбца BikeBuyer (это ведь новые клиенты, мы не знаем, сделают ли они покупку!), кроме того, есть ряд несущественных для анализа новых параметров - имя, адрес электронной почты, телефон и т.д.

(рис 15.9) Таблица NewCustomers

Наша задача заключается в том, чтобы предсказать, кто из этих людей готов сделать покупку. Запускаем инструмент ) и выбираем используемую модель интеллектуального анализа (рис 15.10-1). После этого указываем источник данных, для которого надо провести анализ. В нашем случае это таблица -2). Следующее окно позволяет указать соответствие параметров модели и столбцов таблицы. В нашем случае ничего исправлять не потребуется (рис 15.10-3). Далее определяем выходное значение, т.е. столбец, который будет содержать прогноз. В окне -5, только без выходного значения), нажимаем кнопку -4). Назовем его -5) надо указать, куда будет выводиться результат. По умолчанию (рис 15.10-6) он попадет в таблицу с исходными данными, но можно потребовать вывод на новый или уже существующий лист Excel.

1.
2.
3.
4.
5.(рис 15.10) Построение запроса
6.

В ходе работы в окнах рис 15.10-1 - рис 15.10-5 можно нажать кнопку ). Здесь можно просмотреть или поправить генерируемый код запроса на DMX, который будет передан Аналитическим Службам MSSQLServer 2008.

(рис 15.11) Конструктор запросов

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

(рис 15.12) В исходную таблицу добавлен столбец с результатами работы Задание. Выполните запрос к модели интеллектуального анализа. Оцените полученные результаты.
Вернуться к учебному плану