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


Обучающие и проверочные наборы данных

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

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

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

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

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

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

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

  • Программное создание и изменение структур с помощью объектов AMO или языка XML DDL.

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

После определения источников данных для структуры интеллектуального анализа данных, по умолчанию мастер интеллектуального анализа данных делит все данные на два набора: набор для обучения модели (70 % исходных данных) и и набор для проверки модели (30 % исходных данных). Соотношение 70/30 принимается по умолчанию потому, что оно часто используется в интеллектуальном анализе данных, но в службах Analysis Services его можно изменить в соответствии с требованиями.

Кроме того, можно настроить в мастере установку максимального числа обучающих вариантов либо сочетать ограничения, что позволяет использовать максимальное процентное соотношение вариантов до указанного максимального числа вариантов. Если одновременно задано и максимальное процентное соотношение вариантов, и максимальное число вариантов, службы Analysis Services будут использовать меньшее из двух ограничений в качестве размера проверочного набора. Например, если задать 30% контрольных данных для проверочных вариантов и максимум 1000 проверочных вариантов, то размер проверочного набора никогда не будет превышать 1000 вариантов. Это может быть удобно, если необходимо гарантировать постоянный размер проверочного набора даже в случае, если в модель будут добавлены дополнительные обучающие данные.

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

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

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

Изменение свойств структуры для создания набора проверочных данных

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

Свойство

Описание

HoldoutMaxCases

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

HoldoutMaxPercent

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

HoldoutSeed

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

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

Программная настройка предложения HOLDOUT

Задать проверочный и обучающий наборы данных для структуры интеллектуального анализа данных можно с помощью инструкций DMX, AMO или XML DDL. Инструкция ALTER MINING STRUCTURE не поддерживает использование контрольных параметров.

  • DMX   В языке расширений интеллектуального анализа данных (DMX) расширена инструкция CREATE MINING STRUCTURE. В нее добавлено предложение WITH HOLDOUT.

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

  • AMO   Просматривать и изменять контрольные наборы данных (наборы HOLDOUT) можно с помощью объектов AMO.

Для просмотра сведений о контрольном наборе данных в существующей структуре интеллектуального анализа данных можно запросить набор строк схемы интеллектуального анализа данных. Для этого необходимо выполнить вызов DISCOVER ROWSET или DMX-запрос.

Получение сведений о контрольных данных

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

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

SELECT * from <structure>.CASES WHERE IsTrainingCase()

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

SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>'

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

  • Чтобы использовать контрольные данные, свойство MiningStructureCacheMode структуры интеллектуального анализа данных должно иметь значение по умолчанию KeepTrainingCases. Если изменить значение свойства CacheMode на ClearAfterProcessing и затем выполнить повторную обработку структуры интеллектуального анализа данных, секция будет потеряна.

  • Невозможно удалить данные из модели временных рядов. Следовательно, невозможно разделить исходные данные на обучающий и проверочный наборы. Если в начале создания структуры интеллектуального анализа данных и модели выбран алгоритм временных рядов (Майкрософт), то функция создания набора контрольных данных отключается. Контрольные данные непригодны для использования и в том случае, когда структура интеллектуального анализа данных содержит столбец KEY TIME на уровне варианта или вложенной таблицы.

  • Можно случайно задать такой набор контрольных данных, что все данные будут использоваться для проверки, а данных для обучения не останется. В этом случае службы Analysis Services сформируют ошибку, чтобы пользователь мог устранить проблему. Во время обработки структуры службы Analysis Services также выдадут предупреждение в том случае, если для проверки выделено более 50% данных.

  • В большинстве случаев 30% контрольных данных по умолчанию обеспечивают хороший баланс между обучающими и проверочными данными. Не существует простого способа определить, какого объема набора данных будет достаточно для полноценного обучения и насколько разреженным может быть обучающий набор, чтобы не вызвать появления лжевзаимосвязей. Однако после построения модели можно выполнить перекрестную проверку, чтобы оценить набор данных в отношении конкретной модели.

  • В дополнение к свойствам, перечисленным в предыдущей таблице, в объектах AMO и языке XML DDL предусмотрено свойство HoldoutActualSize, доступное только для чтения. Однако, поскольку реальный размер секции невозможно определить точно до тех пор, пока не будет обработана структура, перед получением значения свойства HoldoutActualSize необходимо проверить, была ли обработана модель.

См. также

Разделы

Ссылки

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

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

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

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

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

Основные понятия и модель объектов AMO

Элемент MiningStructure (язык ASSL)

Содержит синтаксис DMX для создания контрольных наборов.

CREATE MINING STRUCTURE (расширения интеллектуального анализа данных)

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

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

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

См. также

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

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

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

Решения для интеллектуального анализа данных

Тестирование и проверка (интеллектуальный анализ данных)