Запросы к модели логистической регрессии (службы Analysis Services — интеллектуальный анализ данных)
К модели интеллектуального анализа данных можно создать два вида запросов: запросы содержимого, возвращающие подробные сведения о закономерностях, обнаруженных при анализе, и прогнозирующие запросы, в которых используются закономерности, содержащиеся в модели, для прогнозирования на основе новых данных.
В этом разделе описывается процесс создания запросов к моделям, основанным на алгоритме логистической регрессии (Майкрософт).
Запросы содержимого
Получение параметров модели с помощью набора строк схемы интеллектуального анализа данных
Поиск дополнительной информации о модели с помощью расширений интеллектуального анализа данных
Прогнозирующие запросы
Прогнозы для непрерывной величины
Прогнозы для дискретной величины
Получение сведений о модели логистической регрессии
Модели логистической регрессии создаются с использованием алгоритма нейронной сети (Майкрософт) с особым набором параметров; поэтому модель логистической регрессии частично содержит ту же информацию, что и модель нейронных сетей, но менее сложна. Сведения о структуре содержимого модели и о том, какие типы узлов какую информацию хранят, см. в разделе Содержимое моделей интеллектуального анализа данных для моделей логистической регрессии (службы Analysis Services — интеллектуальный анализ данных).
Для изучения поведения сценариев запроса можно создать модель логистической регрессии, как показано в следующем разделе учебника по интеллектуальному анализу данных среднего уровня: Занятие 5. Построение моделей нейронной сети и логистической регрессии (учебник по интеллектуальному анализу данных — средний уровень).
Можно также использовать структуру интеллектуального анализа данных Targeted Mailing из учебника Учебник по основам интеллектуального анализа данных.
ALTER MINING STRUCTURE [Targeted Mailing]
ADD MINING MODEL [TM_Logistic Regression]
([Customer Key],
[Age],
[Bike Buyer] PREDICT,
[Yearly Income] PREDICT,
[Commute Distance],
[English Education],
Gender,
[House Owner Flag],
[Marital Status],
[Number Cars Owned],
[Number Children At Home],
[Region],
[Total Children]
)
USING Microsoft_Logistic_Regression
Образец запроса 1. Получение параметров модели с помощью набора строк схемы интеллектуального анализа данных
Используя запросы к набору строк схемы интеллектуального анализа данных, можно находить метаданные модели, например: время ее создания, время ее последней обработки, имя структуры интеллектуального анализа данных, на которой основана данная модель, и имя столбца, использованного в качестве прогнозируемого атрибута. Следующий пример возвращает параметры, которые использовались при создании модели, имя и тип модели и дату ее создания.
SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Call Center_LR'
Образец результатов:
MODEL_NAME |
SERVICE_NAME |
DATE_CREATED |
MINING_PARAMETERS |
---|---|---|---|
Call Center_LR |
Microsoft_Logistic_Regression |
04/07/2009 20:38:33 |
HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000 |
Вернуться в начало
Образец запроса 2. Поиск дополнительной информации о модели с помощью расширений интеллектуального анализа данных
Следующий запрос возвращает основные сведения о модели логистической регрессии. Модель логистической регрессии во многом подобна модели нейронной сети, в том числе наличием граничного статистического узла (NODE_TYPE = 24), описывающего значения входных данных. В следующем образце используется модель целевой рассылки и возвращаются все входные значения, извлекаемые из вложенной таблицы NODE_DISTRIBUTION.
SELECT FLATTENED NODE_DISTRIBUTION AS t
FROM [TM_Logistic Regression].CONTENT
Частичные результаты:
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VARIANCE |
t.VALUETYPE |
---|---|---|---|---|---|
Age |
Отсутствует |
0 |
0 |
0 |
1 |
Age |
45.43491192 |
17484 |
1 |
126.9544114 |
3 |
Bike Buyer |
Отсутствует |
0 |
0 |
0 |
1 |
Bike Buyer |
0 |
8869 |
0.507263784 |
0 |
4 |
Bike Buyer |
1 |
8615 |
0.492736216 |
0 |
4 |
Commute Distance |
Отсутствует |
0 |
0 |
0 |
1 |
Commute Distance |
5-10 миль |
3033 |
0.173472889 |
0 |
4 |
Настоящий запрос вернет гораздо больше строк; однако этот образец показывает, какого типа информацию о входных значениях можно получить. Для дискретных входных данных в таблице перечислены все возможные значения. Для непрерывных входных данных, таких как Age, вывод полного списка невозможен, поэтому вывод дискретизируется с усреднением. Дополнительные сведения об использовании информации, хранящейся в узле граничной статистики, см. в разделе Содержимое моделей интеллектуального анализа данных для моделей логистической регрессии (службы Analysis Services — интеллектуальный анализ данных).
Примечание |
---|
Результаты были приведены к плоскому виду для удобства просмотра, но можно также вернуть вложенную таблицу в виде одного столбца, если используемый поставщик поддерживает иерархические наборы строк. Дополнительные сведения см. в статье Иерархические наборы строк в руководстве разработчика по OLE DB. |
Вернуться в начало
Прогнозирующие запросы к модели логистической регрессии
Функцию Predict (расширения интеллектуального анализа данных) можно использовать с самыми разными моделями интеллектуального анализа данных для предоставления новых данных для моделей и проведения прогнозов на основе новых значений. Можно также использовать функции для получения такой дополнительной информации о прогнозах, как вероятность, что прогноз верен. В данном разделе приводится несколько примеров прогнозирующих запросов для модели логистической регрессии.
Образец запроса 3. Прогнозы для непрерывной величины
Поскольку логистическая регрессия также поддерживает непрерывные атрибуты как в качестве входных данных, так и для прогноза, легко создавать модели, вычисляющие корреляцию различных факторов в конкретных данных. Для исследования связей между этими факторами можно использовать прогнозирующие запросы.
Следующий образец запроса основан на модели центра обработки вызовов из учебника для среднего уровня и создает одноэлементный запрос, предсказывающий уровень обслуживания для утренней пятничной смены. Функция PredictHistogram (DMX) возвращает вложенную таблицу, содержащую статистику, которая позволяет понять, насколько достоверно спрогнозированное значение.
SELECT
Predict([Call Center_LR].[Service Grade]) as Predicted ServiceGrade,
PredictHistogram([Call Center_LR].[Service Grade]) as [Results],
FROM
[Call Center_LR]
NATURAL PREDICTION JOIN
(SELECT 'Friday' AS [Day Of Week],
'AM' AS [Shift]) AS t
Образец результатов:
Прогнозируемый уровень обслуживания |
Результаты |
---|---|
0.102601830123659 |
Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.10260183012365983.02325581395350.98837209302325600.001205526606000870.034720694203902
0.9767441860465120.01162790697674420.011627906976744200
|
Дополнительные сведения о вероятности, мощности несущего множества и стандартном отклонении для значений во вложенной таблице NODE_DISTRIBUTION см. в разделе Содержимое моделей интеллектуального анализа данных для моделей логистической регрессии (службы Analysis Services — интеллектуальный анализ данных).
Вернуться в начало
Образец запроса 4. Прогнозы для дискретной величины
Логистическая регрессия обычно используется в ситуациях, когда нужно анализировать факторы, влияющие на двоичные результаты. Несмотря на то, что модель, используемая в этом учебнике, предсказывает непрерывное значение, ServiceGrade, в реальных сценариях можно настроить ее для предсказания того, достигнет ли уровень обслуживания определенного дискретизированного целевого значения. Можно также получить предсказания с использованием непрерывного значения, но позже распределить выходные значения по группам Хорошие, Удовлетворительные и Плохие.
Следующий образец показывает, как можно группировать прогнозируемый атрибут. Для этого создается копия структуры интеллектуального анализа данных, после чего метод дискретизации целевого столбца изменяется так, что непрерывные значения группируются.
Следующая процедура описывает порядок группирования значений Service Grade в данных центра обработки вызовов.
Создание дискретизированной версии структуры и моделей интеллектуального анализа данных центра обработки вызовов
В обозревателе решений среды Business Intelligence Development Studio разверните узел Структуры интеллектуального анализа данных.
Щелкните правой кнопкой мыши узел Call Center.dmm и выберите команду Копировать.
Щелкните правой кнопкой мыши узел Структуры интеллектуального анализа данных и выберите команду Вставить. Добавляется новая структура интеллектуального анализа данных с именем Call Center 1.
Щелкните правой кнопкой мыши эту новую структуру интеллектуального анализа данных и выберите команду Переименовать. Введите новое имя, Call Center Discretized.
Дважды щелкните новую структуру интеллектуального анализа данных, чтобы открыть ее в конструкторе. Обратите внимание, что все модели интеллектуального анализа данных также скопировались, и каждая из них имеет расширение 1. Оставьте их имена без изменений.
На вкладке Структура интеллектуального анализа данных щелкните правой кнопкой мыши столбец Service Grade и выберите пункт Свойства.
Измените значение свойства Content с Непрерывное на Дискретизированное. Измените значение свойства DiscretizationMethod на Кластеры. Для свойства Discretization BucketCount введите значение 3.
Примечание Эти параметры служат лишь для иллюстрации процесса, они не гарантируют получения верной модели.
В меню Модель интеллектуального анализа данных выберите команду Обработать структуру интеллектуального анализа данных и все модели.
Следующий образец запроса основан на дискретизированной модели и предсказывает уровень обслуживания для указанного дня недели, включая вероятности для каждого предсказанного результата.
SELECT
(PredictHistogram([Call Center_LR 1].[Service Grade])) as [Predictions]
FROM
[Call Center_LR 1]
NATURAL PREDICTION JOIN
(SELECT 'Saturday' AS [Day Of Week]) AS t
Ожидаемый результат.
Прогнозы |
---|
Service Grade$SUPPORT$PROBABILITY$ADJUSTEDPROBABILITY$VARIANCE$STDEV
0.1087271838312535.72465047706410.4252934580602870.017016836003029300
0.0585576923062531.70988808007030.3774986676198850.02088202006045400
0.17016949152515.61091598832020.1858442379561920.066138657138604900
0.9545454545454550.01136363636363640.011363636363636400
|
Обратите внимание, что предсказанные результаты сгруппированы по трем указанным категориям. Однако это группирование основано на кластеризации реальных значений данных, а не произвольных значений, которые могли быть указаны в качестве бизнес-целей.
Вернуться в начало
Список прогнозирующих функций
Все алгоритмы Майкрософт поддерживают общий набор функций. Однако алгоритм логистической регрессии (Майкрософт) поддерживает дополнительные функции, список которых приведен в следующей таблице.
PredictSupport (расширения интеллектуального анализа данных) |
|
PredictVariance (расширения интеллектуального анализа данных) |
|
PredictProbability (расширения интеллектуального анализа данных) |
|
Список функций, общих для всех алгоритмов Майкрософт, см. в разделе Сопоставление функций с типами запросов (расширения интеллектуального анализа данных). Синтаксис специальных функций см. в разделе Справочник по функциям расширений интеллектуального анализа данных.
Примечание |
---|
Для моделей нейронной сети и логистической регрессии функция PredictSupport (расширения интеллектуального анализа данных) возвращает единственное значение, представляющее собой размер обучающего набора для всей модели. |
См. также