SystemGetCrossValidationResults (Analysis Services - Minería de datos)
Particiona la estructura de minería de datos en el número especificado de secciones transversales, entrena un modelo para cada partición y, a continuación, devuelve métricas de precisión para cada partición.
[!NOTA]
Este procedimiento almacenado no puede usarse para realizar una validación cruzada de los modelos de agrupación en clústeres ni de los modelos generados mediante el algoritmo de serie temporal de Microsoft o el algoritmo de clústeres de secuencia de Microsoft. Para realizar una validación cruzada de los modelos de agrupación en clústeres, puede usar el procedimiento almacenado independiente SystemGetClusterCrossValidationResults (Analysis Services - Minería de datos).
Sintaxis
SystemGetCrossValidationResults(
<mining structure>
[, <mining model list>]
,<fold count>
,<max cases>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])
Argumentos
mining structure
Nombre de una estructura de minería de datos de la base de datos actual.(Obligatorio)
mining model list
Lista separada por comas de los modelos de minería de datos que van a validarse.Si un nombre de modelo contiene caracteres que no son válidos para el nombre de un identificador, el nombre debe incluirse entre corchetes.
Si no se especifica una lista de modelos de minería de datos, la validación cruzada se realiza en todos los modelos que están asociados a la estructura especificada y que contienen un atributo de predicción.
[!NOTA]
Para realizar una validación cruzada de los modelos de agrupación en clústeres, debe usar un procedimiento almacenado independiente, SystemGetClusterCrossValidationResults (Analysis Services - Minería de datos).
(Opcional)
fold count
Entero que especifica el número de particiones en que debe separarse el conjunto de datos. El valor mínimo es 2. El número máximo de subconjuntos es maximum integer o el número de casos, el que sea más bajo.Cada partición contendrá aproximadamente este número de casos: max cases/fold count.
No existe ningún valor predeterminado.
[!NOTA]
El número de subconjuntos afecta significativamente al tiempo necesario para realizar la validación cruzada. Si selecciona un número demasiado alto, puede que la ejecución de la consulta dure mucho tiempo y, en algunos casos, es posible que el servidor deje de responder o que se agote el tiempo de espera.
(Obligatorio)
max cases
Entero que especifica el número máximo de casos que pueden probarse en todos los subconjuntos.Un valor igual a 0 indica que se usarán todos los casos del origen de datos.
Si especifica un valor superior al número real de casos del conjunto de datos, se usarán todos los casos del origen de datos.
No existe ningún valor predeterminado.
(Obligatorio)
target attribute
Cadena que contiene el nombre del atributo de predicción. Un atributo de predicción puede ser una columna, una columna de tabla anidada o una columna de clave de tabla anidada de un modelo de minería de datos.[!NOTA]
La existencia del atributo de destino solamente se valida en tiempo de ejecución.
(Obligatorio)
target state
Fórmula que especifica el valor que va a predecirse. Si se especifica un valor de destino, solo se recopilan las métricas para el valor especificado.Si no se especifica ningún valor, o es null, se calculan las métricas del estado más probable para cada predicción.
El valor predeterminado es null.
Se produce un error durante la validación si el valor indicado no es válido para el atributo especificado o si la fórmula no es del tipo correcto para dicho atributo.
(Opcional)
target threshold
Valor Double mayor que 0 y menor que 1. Indica la puntuación de probabilidad mínima que debe obtenerse para que la predicción de estado del destino especificado se considere correcta.Una predicción con una probabilidad menor o igual que este valor se considera incorrecta.
Si no se ha especificado ningún valor o si el valor es null, se usa el estado más probable, sin tener en cuenta su puntuación de probabilidad.
El valor predeterminado es null.
[!NOTA]
Analysis Services no producirá ningún error si state threshold se establece en 0,0; sin embargo, no debería usar nunca este valor. De hecho, un umbral de 0,0 significa que las predicciones con una probabilidad del cero por ciento se consideran correctas.
(Opcional)
test list
Cadena que especifica las opciones de prueba.Nota: este parámetro se reserva para un uso futuro.
(Opcional)
Tipo devuelto
El conjunto de filas que se devuelve incluye puntuaciones para cada una de las particiones de cada modelo.
En la tabla siguiente se describen las columnas del conjunto de filas.
Nombre de la columna |
Descripción |
---|---|
ModelName |
Nombre del modelo probado. |
AttributeName |
Nombre de la columna de predicción. |
AttributeState |
Valor de destino especificado en la columna de predicción. Si este valor es null, significa que se ha utilizado la predicción más probable. Si esta columna contiene un valor, la precisión del modelo solamente se evalúa en relación con este valor. |
PartitionIndex |
Índice de base 1 que identifica la partición a la que se aplican los resultados. |
PartitionSize |
Entero que indica el número de casos incluido en cada partición. |
Test |
Categoría de la prueba realizada. Para obtener una descripción de las categorías y las pruebas incluidas en cada categoría, vea Medidas en el informe de validación cruzada. |
Measure |
Nombre de la medida que devuelve la prueba. Las medidas de cada modelo dependen del tipo del valor de predicción. Para obtener una definición de cada medida, vea Validación cruzada (Analysis Services - Minería de datos). Para obtener una lista de las medidas que se devuelven para cada tipo de predicción, vea Medidas en el informe de validación cruzada. |
Valor |
Valor de la medida de prueba especificada. |
Comentarios
Para devolver métricas de precisión para el conjunto de datos completo, use SystemGetAccuracyResults (Analysis Services - Minería de datos).
Si el modelo de minería de datos ya se ha particionado en subconjuntos, puede omitir el procesamiento y devolver solamente los resultados de la validación cruzada mediante SystemGetAccuracyResults (Analysis Services - Minería de datos).
Ejemplos
En el ejemplo siguiente se muestra cómo particionar una estructura de minería de datos en dos subconjuntos de cara a la validación cruzada y cómo probar a continuación dos modelos de minería de datos asociados a la estructura de minería de datos [v Target Mail].
La línea tres del código muestra los modelos de minería de datos que desea probar. Si no especifica la lista, se usan todos los modelos asociados a la estructura que no son de agrupación en clústeres. La línea cuatro del código especifica el número de particiones. Dado que no se especifica ningún valor para max cases, se usan todos los casos de la estructura de minería de datos y se distribuyen uniformemente en las particiones.
En la línea cinco se especifica el atributo de predicción, Bike Buyer, y en la línea seis se especifica el valor que va a predecirse, 1 (que significa que sí comprará).
El valor NULL de la línea siete indica que no hay ninguna barra de probabilidad mínima que deba alcanzarse. Por lo tanto, la primera predicción que tenga una probabilidad distinta de cero se usará para evaluar la precisión.
CALL SystemGetCrossValidationResults(
[v Target Mail],
[Target Mail DT], [Target Mail NB],
2,
'Bike Buyer',
1,
NULL
)
Resultados del ejemplo:
ModelName |
AttributeName |
AttributeState |
PartitionIndex |
PartitionSize |
Probar |
Medida |
Valor |
---|---|---|---|---|---|---|---|
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Clasificación |
Verdadero positivo |
144 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Clasificación |
Falso positivo |
105 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Clasificación |
Verdadero negativo |
186 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Clasificación |
Falso negativo |
65 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Probabilidad |
Logaritmo |
-0.619042807138345 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Probabilidad |
Mejora respecto al modelo predictivo |
0.0740963734002671 |
Target Mail DT |
Bike Buyer |
1 |
1 |
500 |
Probabilidad |
Error cuadrático medio |
0.346946279977653 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Clasificación |
Verdadero positivo |
162 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Clasificación |
Falso positivo |
86 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Clasificación |
Verdadero negativo |
165 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Clasificación |
Falso negativo |
87 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Probabilidad |
Logaritmo |
-0.654117781086519 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Probabilidad |
Mejora respecto al modelo predictivo |
0.038997399132084 |
Target Mail DT |
Bike Buyer |
1 |
2 |
500 |
Probabilidad |
Error cuadrático medio |
0.342721344892651 |
Requisitos
La validación cruzada solo está disponible en SQL Server Enterprise desde SQL Server 2008.
Vea también
Referencia
SystemGetCrossValidationResults (Analysis Services - Minería de datos)
SystemGetAccuracyResults (Analysis Services - Minería de datos)
SystemGetClusterCrossValidationResults (Analysis Services - Minería de datos)
SystemGetClusterAccuracyResults (Analysis Services - Minería de datos)