Обучающий и тестирующий набор данных

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

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

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

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

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

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

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

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

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

По умолчанию после определения источников данных для структуры интеллектуального анализа данных мастер интеллектуального анализа данных разделит данные на два набора: один с 70 процентами исходных данных, для обучения модели и один с 30 процентами исходных данных для тестирования модели. Это значение по умолчанию было выбрано, так как в интеллектуальном анализе данных часто используется соотношение 70-30, но с помощью служб Analysis Services можно изменить это соотношение в соответствии с вашими требованиями.

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

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

Замечание

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

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

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

Недвижимость Описание
HoldoutMaxCases Указывает максимальное количество вариантов, включаемых в набор тестирования.
HoldoutMaxPercent Указывает количество вариантов, которые необходимо включить в набор тестирования в процентах от полного набора данных. Для отсутствия набора данных укажите значение 0.
HoldoutSeed Указывает целочисленное значение, используемое в качестве начального значения при случайном выборе данных для секций. Это значение не влияет на количество случаев в наборе обучения; вместо этого оно гарантирует, что разбиение может повторяться.

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

Указание откладывания программно

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

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

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

  • АМО Вы также можете просматривать и изменять удержанные наборы данных с помощью AMO.

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

Получение сведений о данных удержания

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

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

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

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

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

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

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

  • Невозможно удалить данные из модели временных рядов; Таким образом, исходные данные нельзя разделить на наборы обучения и тестирования. Если вы начинаете создавать структуру и модель интеллектуального анализа данных и выбираете алгоритм временных рядов Microsoft, то параметр создания резервного набора данных отключен. Использование тестовых данных также отключено, если структура интеллектуального анализа данных содержит столбец KEY TIME на уровне основной или вложенной таблицы.

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

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

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

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

Элемент MiningStructure (ASSL)
Предоставляет синтаксис DMX для создания наборов удержаний. СОЗДАТЬ СТРУКТУРУ МАЙНИНГА (DMX)
Получить информацию о случаях в наборах обучения и тестирования. Наборы строк схемы интеллектуального анализа данных

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

См. также

Средства интеллектуального анализа данных
Основные понятия интеллектуального анализа данных
Решения интеллектуального анализа данных
Тестирование и проверка (интеллектуальный анализ данных)