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

Применимо к: SQL Server 2019 и более ранних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Важно!

Интеллектуальный анализ данных не рекомендуется использовать в службах SQL Server 2017 Analysis Services, а в SQL Server 2022 Analysis Services его поддержка прекращена. Документация не обновляется для устаревших и неподдерживаемых функций. Дополнительные сведения см. в статье об обратной совместимости служб Analysis Services.

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

Примечание

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

Синтаксис

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

Аргументы

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

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

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

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

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

Примечание

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

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

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

Каждая секция будет содержать примерно такое количество вариантов: максимальноечисло свертываниявариантов/.

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

Примечание

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Если этот столбец содержит значение, точность модели оценивается только по этому значению.
PartitionIndex Начинающийся с 1 индекс, определяющий, к какой секции применяются результаты.
PartitionSize Целое число, показывающее, сколько вариантов было включено в каждую секцию.
Тест Категория выполненной проверки. Описание категорий и проверок, включенных в каждую категорию, см. в разделе Меры в отчете перекрестной проверки.
Мера Имя меры, возвращенной тестом. Меры для каждой модели зависят от типа прогнозируемого значения. Определение каждой меры см. в разделе Перекрестная проверка (службы Analysis Services — интеллектуальный анализ данных).

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

Комментарии

Чтобы вернуть метрики точности для полного набора данных, используйте 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 Тест Мера Значение
Target Mail DT Покупатель велосипеда 1 1 500 Классификация Истинный положительный результат 144
Target Mail DT Покупатель велосипеда 1 1 500 Классификация Ложный положительный результат 105
Target Mail DT Покупатель велосипеда 1 1 500 Классификация Истинный отрицательный результат 186
Target Mail DT Покупатель велосипеда 1 1 500 Классификация Ложный отрицательный результат 65
Target Mail DT Покупатель велосипеда 1 1 500 Вероятность Логарифмическая оценка -0.619042807138345
Target Mail DT Покупатель велосипеда 1 1 500 Вероятность Точность прогноза 0.0740963734002671
Target Mail DT Покупатель велосипеда 1 1 500 Вероятность Корень среднеквадратичной погрешности 0.346946279977653
Target Mail DT Покупатель велосипеда 1 2 500 Классификация Истинный положительный результат 162
Target Mail DT Покупатель велосипеда 1 2 500 Классификация Ложный положительный результат 86
Target Mail DT Покупатель велосипеда 1 2 500 Классификация Истинный отрицательный результат 165
Target Mail DT Покупатель велосипеда 1 2 500 Классификация Ложный отрицательный результат 87
Target Mail DT Покупатель велосипеда 1 2 500 Вероятность Логарифмическая оценка -0.654117781086519
Target Mail DT Покупатель велосипеда 1 2 500 Вероятность Точность прогноза 0.038997399132084
Target Mail DT Покупатель велосипеда 1 2 500 Вероятность Корень среднеквадратичной погрешности 0.342721344892651

Требования

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

См. также:

SystemGetCrossValidationResults
SystemGetAccuracyResults (службы Analysis Services — интеллектуальный анализ данных)
Хранимая процедура SystemGetClusterCrossValidationResults (службы Analysis Services — интеллектуальный анализ данных)
Метод SystemGetClusterAccuracyResults (службы Analysis Services — интеллектуальный анализ данных)