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


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

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

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

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

Синтаксис

SystemGetCrossValidationResults(
<mining structure>
[, <mining model list>]
,<fold count>
,<max cases>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])

Аргументы

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

    (обязательно)

  • mining model list
    Список моделей интеллектуального анализа данных для проверки с разделителями-запятыми.

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

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

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

    Для перекрестной проверки моделей кластеризации необходимо использовать отдельную хранимую процедуру, Хранимая процедура SystemGetClusterCrossValidationResults (службы Analysis Services — интеллектуальный анализ данных).

    (необязательно)

  • fold count
    Целое число, указывающее количество секций, на которое разделяется набор данных. Минимальное значение — 2. Максимальное число сверток равно минимальному из следующих двух значений — maximum integer и количество вариантов.

    Каждая секция будет содержать примерно следующее количество вариантов: max cases/fold count.

    Значение по умолчанию отсутствует.

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

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

    (обязательно)

  • max cases
    Целое число, определяющее максимальное количество вариантов, которые можно проверять по всем сверткам.

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

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

    Значение по умолчанию отсутствует.

    (обязательно)

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

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

    Существование целевого атрибута проверяется только во время выполнения.

    (обязательно)

  • target state
    Формула, задающая предсказываемое значение. Если указано целевое значение, показатели собираются только для заданного значения.

    Если значение не задано или равно null, показатели вычисляются для более вероятного состояния каждого прогноза.

    Значение по умолчанию — null.

    Если заданное значение недопустимо для указанного атрибута или задана формула неправильного типа, во время проверки возникает ошибка.

    (необязательно)

  • target threshold
    Double больше 0 и меньше 1. Указывает минимальную оценку вероятности, которую необходимо получить для прогноза заданного целевого состояния, чтобы она считалась правильной.

    Прогноз с вероятностью, меньшей или равной этому значению, считается неверным.

    Если значение не задано или равно null, используется наиболее вероятное состояние, независимо от оценки вероятности.

    Значение по умолчанию — null.

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

    Службы Службы Analysis Services не вызовут ошибку, если присвоить state threshold значение 0,0, но его ни в коем случае нельзя использовать. В действительность пороговое значение 0,0 означает, что прогноз с процентом вероятности, равным 0, считается правильным.

    (необязательно)

  • test list
    Строка, указывающая параметры тестирования.

    Примечание. Этот параметр зарезервирован для использования в будущем.

    (необязательно)

Тип возвращаемых данных

Возвращенный набор строк содержит оценки для каждой секции в каждой модели.

В следующей таблице описываются столбцы этого набора строк.

Имя столбца

Описание

ModelName

Имя протестированной модели.

AttributeName

Имя прогнозируемого столбца.

AttributeState

Заданное целевое значение в прогнозируемом столбце. Если это значение равно null, был использован наиболее вероятный прогноз.

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

PartitionIndex

Начинающийся с 1 индекс, определяющий, к какой секции применяются результаты.

PartitionSize

Целое число, показывающее, сколько вариантов было включено в каждую секцию.

Test

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

Measure

Имя меры, возвращенной тестом. Меры для каждой модели зависят от типа прогнозируемого значения. Определение каждой меры см. в разделе Перекрестная проверка (службы Analysis Services — интеллектуальный анализ данных).

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

Value

Значение указанной проверочной меры.

Замечания

Для возвращения показателей точности для всего набора данных используется SystemGetAccuracyResults (службы Analysis Services — интеллектуальный анализ данных).

Если модель интеллектуального анализа данных уже секционирована на свертки, можно обойти обработку и возвратить только результаты перекрестной проверки с помощью SystemGetAccuracyResults (службы Analysis Services — интеллектуальный анализ данных).

Примеры

В следующем примере показано секционирование структуры интеллектуального анализа для перекрестной проверки на две свертки и проверка двух моделей интеллектуального анализа данных, связанных со структурой интеллектуального анализа, [v Target Mail].

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

В пятой строке задан прогнозируемый атрибут, Bike Buyer, а в шестой строке указано прогнозируемое значение, 1 (означающее «да, купит»).

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

CALL SystemGetCrossValidationResults(
[v Target Mail],
[Target Mail DT], [Target Mail NB],
2,
'Bike Buyer',
1,
NULL
)

Образец результатов.

ModelName

AttributeName

AttributeState

PartitionIndex

PartitionSize

Test

Measure

Value

Target Mail DT

Bike Buyer

1

1

500

Classification

True Positive

144

Target Mail DT

Bike Buyer

1

1

500

Classification

False Positive

105

Target Mail DT

Bike Buyer

1

1

500

Classification

True Negative

186

Target Mail DT

Bike Buyer

1

1

500

Classification

False Negative

65

Target Mail DT

Bike Buyer

1

1

500

Likelihood

Log Score

-0.619042807138345

Target Mail DT

Bike Buyer

1

1

500

Likelihood

Lift

0.0740963734002671

Target Mail DT

Bike Buyer

1

1

500

Likelihood

Root Mean Square Error

0.346946279977653

Target Mail DT

Bike Buyer

1

2

500

Classification

True Positive

162

Target Mail DT

Bike Buyer

1

2

500

Classification

False Positive

86

Target Mail DT

Bike Buyer

1

2

500

Classification

True Negative

165

Target Mail DT

Bike Buyer

1

2

500

Classification

False Negative

87

Target Mail DT

Bike Buyer

1

2

500

Likelihood

Log Score

-0.654117781086519

Target Mail DT

Bike Buyer

1

2

500

Likelihood

Lift

0.038997399132084

Target Mail DT

Bike Buyer

1

2

500

Likelihood

Root Mean Square Error

0.342721344892651

Требования

Перекрестная проверка доступна только в версиях SQL Server Enterprise, начиная с SQL Server 2008.