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


Создание структуры и модели нейронной сети (учебник по интеллектуальному анализу данных — средний уровень)

 

Применимо к: SQL Server 2016 Preview

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

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

Наконец, когда из модели нейронной сети определены факторы, которые сильнее всего влияют на бизнес-задачу, будет построена отдельная модель для прогнозирования и оценки. Будет использоваться Microsoft Алгоритм логистической регрессии, который основан на модели нейронных сетей, но оптимизирован для поиска решение, основанное на заданных входных данных.

Шаги

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

Используйте дискретизацию для секционирования прогнозируемого столбца

Скопируйте столбец и измените метод дискретизации для другой модели

Создайте псевдоним для прогнозируемого столбца, что позволит сравнить модели

Обработайте все модели

Создайте структуру центра обработки вызовов по умолчанию

  1. В обозревателе решений в SQL Server Data Tools (SSDT), щелкните правой кнопкой мыши структуры интеллектуального анализа данных и выберите новую структуру интеллектуального анализа данных.

  2. На странице Вас приветствует мастер интеллектуального анализа данных нажмите кнопку Далее.

  3. На Выбор метода определения Убедитесь, что из существующей реляционной базы данных или хранилища данных выбран и нажмите кнопку Далее.

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

  5. Щелкните раскрывающийся список для параметра какой метод интеллектуального анализа данных требуется использовать?, а затем выберите нейронных сетей Майкрософт.

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

  6. Нажмите кнопку Далее.

    Выбор представления источника данных появится страница.

  7. В разделе Доступные представления источника данных, выберите центра обработки вызовов, и нажмите кнопку Далее.

  8. На Определение типов таблиц выберите случае флажок рядом с FactCallCenter таблицы. Не выбирайте ничего для DimDate. Нажмите кнопку Далее.

  9. На Определение обучающих данных выберите ключ рядом со столбцом FactCallCenterID.

  10. Выберите Predict и ввода флажки.

  11. Выберите ключ, ввода, и Predict флажки, как показано в следующей таблице:

    Таблицы и столбцы Ключ/Входные данные/Прогноз
    AutomaticResponses Ввод
    AverageTimePerIssue Входные данные/Прогноз
    Вызовы Ввод
    DateKey Не использовать
    DayOfWeek Ввод
    FactCallCenterID Key
    IssuesRaised Ввод
    LevelOneOperators Входные данные/Прогноз
    LevelTwoOperators Ввод
    Orders Входные данные/Прогноз
    ServiceGrade Входные данные/Прогноз
    Shift Ввод
    TotalOperators Не использовать
    WageType Ввод

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

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

    Столбцы Тип содержимого Типы данных
    AutomaticResponses Непрерывный Long
    AverageTimePerIssue Непрерывный Long
    Вызовы Непрерывный Long
    DayOfWeek Discrete Текст
    FactCallCenterID Key Long
    IssuesRaised Непрерывный Long
    LevelOneOperators Непрерывный Long
    LevelTwoOperators Непрерывный Long
    Orders Непрерывный Long
    ServiceGrade Непрерывный Double
    Shift Discrete Текст
    WageType Discrete Текст
  13. На создания тестирования задайте страницы, очистите текстовое поле для параметра Процент проверочных данных. Нажмите кнопку Далее.

  14. На Завершение работы мастера страницы, для имя структуры интеллектуального анализа данных, тип центра обработки вызовов.

  15. Для имя модели интеллектуального анализа данных, тип Call Center Default NN, а затем нажмите кнопку Готово.

    Разрешить детализацию отключено, так как нельзя выполнять детализацию данных с помощью модели нейронной сети.

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

Используйте дискретизацию для секционирования целевого столбца

По умолчанию при создании модели нейронной сети, имеющей числовой прогнозируемый атрибут, алгоритм нейронной сети (Майкрософт) считает атрибут непрерывным числом. Например, атрибут ServiceGrade представляет собой число, теоретически из диапазона от 0,00 (все звонки обработаны) до 1,00 (все звонки отложены). В этом наборе данных значения имеют следующее распределение:

распределение значений уровня обслуживания

В результате при обработке модели выходные данные могут быть сгруппированы не так, как ожидалось. Например, при использовании кластеризации для определения лучших групп значений алгоритм делит значения в ServiceGrade на диапазоны, подобные: 0.0748051948 – 0.09716216215. Такое группирование математически точно, однако подобные диапазоны могут представляться бизнес-пользователям мало осмысленными.

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

Как работает дискретизация

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

  • Обрабатывать атрибут как непрерывное число.

  • Использовать в алгоритме кластеризацию для определения наилучшего распределения значений.

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

Модель по умолчанию (продолжение) Сегментирование кластеризацией Сегментирование на равные области
ЗНАЧЕНИЕ: отсутствует поддержки: 0

ЗНАЧЕНИЕ: 0,09875 ПОДДЕРЖКИ: 120
ЗНАЧЕНИЕ: < 0.0748051948 ПОДДЕРЖКИ: 34

ЗНАЧЕНИЕ: 0.0748051948 – 0.09716216215 ПОДДЕРЖКИ: 27

ЗНАЧЕНИЕ: 0.09716216215 - 0.13297297295 ПОДДЕРЖКИ: 39

ЗНАЧЕНИЕ: 0.13297297295 - 0.167499999975 ПОДДЕРЖКИ: 10

ЗНАЧЕНИЕ: > = 0.167499999975 ПОДДЕРЖКИ: 10
ЗНАЧЕНИЕ: < 0,07 ПОДДЕРЖКИ: 26

ЗНАЧЕНИЕ: 0,07 - 0,00 ПОДДЕРЖКИ: 22

ЗНАЧЕНИЕ: 0,09 - 0,11 ПОДДЕРЖКИ: 36

ЗНАЧЕНИЕ: > = 0,12 ПОДДЕРЖКИ: 36

Примечание


Эту статистику можно получить из узла граничной статистики модели после обработки всех данных. Дополнительные сведения об узле граничной статистики см. в разделе интеллектуального анализа данных модели содержимого для модели нейронной сети и #40; Службы Analysis Services — Интеллектуальный анализ данных ).

В этой таблице столбец VALUE показывает, как обрабатывалось число для ServiceGrade. Столбец SUPPORT показывает, сколько вариантов пришлось на данное значение или попало в данный диапазон.

  • Использовать непрерывные числа (по умолчанию)

    Если использовался метод по умолчанию, то алгоритм вычислил результаты для 120 уникальных значений. Среднее значение равно 0,09875. Также можно просмотреть число отсутствующих значений.

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

    Если оптимальное группирование значений определяется алгоритмом кластеризации (Майкрософт), то алгоритм группирует значения для ServiceGrade на пять (5) диапазонов. Варианты распределяются по диапазонам неравномерно, о чем сообщает столбец SUPPORT.

  • Сегментирование на равные области

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

Дополнительные сведения о параметрах сегментирования см. в разделе методы дискретизации ( интеллектуального анализа данных ).

Кроме того, вместо использования числовых значений, можно добавить отдельный производный столбец, который классифицирует уровни обслуживания по стандартным целевым диапазонам, например наиболее (ServiceGrade < = 0,05), допустимого (0,10 > ServiceGrade > 0,05), и плохое (ServiceGrade > = 0,10).

Создайте копию столбца и измените метод дискретизации

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

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

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

  1. В обозревателе решений дважды щелкните созданную структуру интеллектуального анализа данных.

  2. На вкладке «Структура интеллектуального анализа данных» щелкните Добавить столбец структуры интеллектуального анализа данных.

  3. В Выберите столбец диалоговое окно, выберите ServiceGrade из списка в исходный столбец, затем щелкните ОК.

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

    Также будет указан метод дискретизации.

  4. Щелкните правой кнопкой мыши ServiceGrade 1 и выберите Свойства.

  5. В Свойства окна, найдите имя Свойства и измените имя на Service Grade Binned .

  6. Откроется диалоговое окно с предложением внести это изменение в имена всех связанных столбцов модели интеллектуального анализа данных. Нажмите кнопку Нет.

  7. В Свойства окна, найдите раздел тип данных и при необходимости разверните его.

  8. Измените значение свойства содержимого из непрерывно для Discretized.

    Доступны следующие свойства. Измените значения свойств в соответствии со следующей таблицей.

    Свойство Значение по умолчанию Новое значение
    DiscretizationMethod Непрерывный EqualAreas
    DiscretizationBucketCount Без значения 4

    Примечание


    Значение по умолчанию DiscretizationBucketCount на самом деле 0, означающее, что алгоритм автоматически определяет оптимальное количество контейнеров. Поэтому, если необходимо изменить значение этого свойства на значение по умолчанию, введите 0.

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

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

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

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

  • модель Call Center Default NN обрабатывает значения ServiceGrade в виде непрерывного диапазона;

  • Вы создадите новые модели интеллектуального анализа данных Call Center Binned NN, который использует в качестве результатов значения столбца ServiceGrade, распределенные по четырем контейнерам одинакового размера.

Добавление модели интеллектуального анализа данных на основе нового дискретизированного столбца

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

  2. Перейдите на вкладку Модели интеллектуального анализа данных .

  3. Щелкните Создать модель интеллектуального анализа данных связанных.

  4. В новой модели интеллектуального анализа данных диалоговом для имя модели, тип Call Center Binned NN. В Имя алгоритма раскрывающегося списка выберите нейронной сети.

  5. В списке столбцов, содержащихся в новой модели интеллектуального анализа данных, выберите ServiceGrade и измените флаг использования Predict к Пропустить.

  6. Аналогичным образом найдите ServiceGrade Binned и измените флаг использования Пропустить для Predict.

Создайте псевдоним для целевого столбца

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

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

  1. В модели интеллектуального анализа данных в разделе структуры, выберите ServiceGrade Binned.

    Обратите внимание, что Свойства окно отображает свойства объекта — столбца ScalarMiningStructure.

  2. Под столбцом для модели интеллектуального анализа данных ServiceGrade Binned NN щелкните ячейку, соответствующую столбцу ServiceGrade Binned.

    Заметьте, что Свойства окне отображаются свойства объекта MiningModelColumn.

  3. Найдите имя Свойства и измените значение на ServiceGrade.

  4. Найдите Описание свойство и введите временный псевдоним столбца.

    Свойства должно содержать следующие сведения:

    Свойство Значение
    Description Временный псевдоним столбца
    Идентификатор ServiceGrade Binned
    Флаги моделирования
    Название Service Grade
    SourceColumn ID Service Grade 1
    Использование Predict
  5. Щелкните в любом месте модель интеллектуального анализа данных вкладки.

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

    Структура Call Center Default NN Call Center Binned NN
    Алгоритм нейронной сети Майкрософт Алгоритм нейронной сети Майкрософт
    AutomaticResponses Ввод Ввод
    AverageTimePerIssue Predict Predict
    Вызовы Ввод Ввод
    DayOfWeek Ввод Ввод
    FactCallCenterID Key Key
    IssuesRaised Ввод Ввод
    LevelOneOperators Ввод Ввод
    LevelTwoOperators Ввод Ввод
    Orders Ввод Ввод
    ServiceGrade Binned Ignore Прогноз (ServiceGrade)
    ServiceGrade Predict Ignore
    Shift Ввод Ввод
    Total Operators Ввод Ввод
    WageType Ввод Ввод

Обработайте все модели

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

Примечание


Если не указать числовое значение для параметра начального значения, службы SQL Server Analysis Services создадут начальное значение на основе имени модели. Поскольку модели всегда имеют разные имена, необходимо задать начальное значение, чтобы обеспечить одинаковый порядок обработки данных этими моделями.

Указание начального значения и обработка моделей

  1. В модель интеллектуального анализа данных щелкните правой кнопкой мыши столбец для модели с именем Call Center - LR и выберите задать параметры алгоритма.

  2. В строке для параметра HOLDOUT_SEED щелкните пустую ячейку под значение, и тип 1. Нажмите кнопку ОК. Повторите этот шаг для каждой модели, связанной со структурой.

    Примечание


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

  3. В модели интеллектуального анализа данных выберите пункт обработать структуру интеллектуального анализа данных и все модели. Щелкните Да развертывание проекта интеллектуального анализа данных обновленных данных на сервер.

  4. В модель интеллектуального анализа данных процесса диалоговом нажмите кнопку запуска.

  5. Нажмите кнопку Закрыть Закрыть Ход обработки диалоговое окно, а затем щелкните Закрыть еще раз в модель интеллектуального анализа данных процесса диалоговое окно.

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

Следующая задача занятия

Изучение модели Call Center ( учебник по интеллектуальному анализу данных — средний )

См. также:

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