Поделиться через


Запросы к модели логистической регрессии (службы Analysis Services — интеллектуальный анализ данных)

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

В этом разделе описывается процесс создания запросов к моделям, основанным на алгоритме логистической регрессии (Майкрософт).

Запросы содержимого

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

Поиск дополнительных подробностей о модели с помощью расширений интеллектуального анализа данных

Прогнозирующие запросы

Прогнозы для непрерывной величины

Прогнозы для дискретной величины

Поиск сведений о модели логистической регрессии

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

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

Можно также использовать структуру интеллектуального анализа данных Targeted Mailing из учебника Учебник по основам интеллектуального анализа данных. Затем добавьте модель логистической регрессии с помощью приведенного ниже сценария расширений интеллектуального анализа данных (DMX).

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

Missing

0

0

0

1

Age

45.43491192

17484

1

126.9544114

3

Bike Buyer

Missing

0

0

0

1

Bike Buyer

0

8869

0.507263784

0

4

Bike Buyer

1

8615

0.492736216

0

4

Commute Distance

Missing

0

0

0

1

Commute Distance

5-10 миль

3033

0.173472889

0

4

Настоящий запрос вернет гораздо больше строк; однако этот образец показывает, какого типа информацию о входных значениях можно получить. Например, в таблице перечислены все возможные значения для дискретной величины, а непрерывные входные данные дискретизированы. Дополнительные сведения об использовании информации, хранящейся в узле граничной статистики, см. в разделе Содержимое моделей интеллектуального анализа данных для моделей логистической регрессии (службы Analysis Services — интеллектуальный анализ данных).

ПримечаниеПримечание

Результаты были приведены к плоскому виду для удобства просмотра, но можно также вернуть вложенную таблицу в виде одного столбца, если используемый поставщик поддерживает иерархические наборы строк. Дополнительные сведения см. в статье Иерархические наборы строк в руководстве разработчика по OLE DB.

В начало

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

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

Образец запроса 3. Прогнозы для непрерывной величины

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

Следующий образец запроса основан на модели Call Center и создает одноэлементный запрос, предсказывающий уровень обслуживания для утренней пятничной смены. Функция PredictHistogram (расширения интеллектуального анализа данных) возвращает вложенную таблицу, которая содержит статистику, помогающую понять, несколько насколько приемлемо спрогнозированное значение.

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. Прогнозы для дискретной величины

Логистическая регрессия обычно используется в ситуациях, когда нужно анализировать факторы, влияющие на двоичный исход. Несмотря на то что исходная модель, используемая в учебнике для среднего уровня, предсказывает непрерывное значение, Service Grade, в реальных сценариях можно настроить ее для предсказания того, достигнет ли уровень обслуживания определенного дискретного целевого значения. Можно также получить предсказания с использованием непрерывного значения, затем распределить выходные значения по группам Хорошие, Удовлетворительные и Плохие.

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

Создание дискретизированной версии структуры и моделей интеллектуального анализа данных Call Center

  1. В среде Business Intelligence Development Studio в обозревателе решений разверните узел Структуры интеллектуального анализа данных.

  2. Щелкните правой кнопкой мыши узел Call Center.dmm и выберите команду Копировать.

  3. Щелкните правой кнопкой мыши Структуры интеллектуального анализа данных и выберите пункт Вставить. Добавляется новая структура интеллектуального анализа данных с именем Call Center 1.

  4. Щелкните правой кнопкой мыши новую структуру интеллектуального анализа данных и выберите пункт Переименовать. Введите новое имя — Call Center Discretized.

  5. Дважды щелкните новую структуру интеллектуального анализа данных, чтобы открыть ее в конструкторе. Обратите внимание, что все модели интеллектуального анализа данных также скопировались, и каждая из них имеет расширение 1. Пока оставьте все имена без изменений.

  6. На вкладке Структура интеллектуального анализа данных щелкните правой кнопкой мыши столбец Service Grade и выберите пункт Свойства.

  7. Измените значение свойства Content с Непрерывный на Дискретизированный. Измените значение свойства DiscretizationMethod на Кластеры. Для свойства Discretization BucketCount введите значение 3.

    ПримечаниеПримечание

    Эти параметры служат лишь для иллюстрации процесса, они не гарантируют получения верной модели.

  8. В меню Модель интеллектуального анализа данных выберите команду Обработать структуру интеллектуального анализа данных и все модели.

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

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

См. также

Справочник

Основные понятия