Validación cruzada (Analysis Services - Minería de datos)

Se aplica a: SQL Server 2019 y versiones anteriores de Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

La minería de datos estaba en desuso en SQL Server 2017 Analysis Services y ahora se descontinuó en SQL Server 2022 Analysis Services. La documentación no se actualiza para las características en desuso y descontinuadas. Para más información, consulte Compatibilidad con versiones anteriores de Analysis Services.

La validación cruzada es una herramienta estándar en el análisis y es una característica importante para ayudarle a desarrollar y ajustar modelos de minería de datos. Después de crear una estructura de minería de datos y modelos de minería de datos relacionados, use la validación cruzada para determinar la validez del modelo. La validación cruzada tiene las siguientes aplicaciones:

  • Validar la solidez de un modelo de minería de datos determinado.

  • Evaluación de varios modelos a partir de una sola instrucción.

  • Crear varios modelos y, a continuación, identificar el mejor modelo en función de las estadísticas.

En esta sección se describe cómo usar las características de validación cruzada proporcionadas para la minería de datos y cómo interpretar los resultados de la validación cruzada para un único modelo o para varios modelos basados en un único conjunto de datos.

Información general sobre el proceso de validación cruzada

La validación cruzada consta de dos fases, entrenamiento y generación de resultados. Estas fases incluyen los pasos siguientes:

  • Seleccione una estructura de minería de destino.

  • Especifique los modelos que desea probar. Este paso es opcional; puede probar también la estructura de minería.

  • Especifique los parámetros para probar los modelos entrenados.

    • Atributo de predicción, valor previsto y umbral de precisión.

    • Número de plegamientos en los que se van a particionar la estructura o los datos del modelo.

  • SQL Server Analysis Services crea y entrena tantos modelos como iteraciones hay.

  • SQL Server Analysis Services devuelve un conjunto de métricas de precisión para cada plegamiento de cada modelo o para el conjunto de datos en su conjunto.

Configuración de la validación cruzada

Puede personalizar la forma en que funciona la validación cruzada para controlar el número de secciones cruzadas, los modelos que se prueban y la barra de precisión de las predicciones. Si usa los procedimientos almacenados de validación cruzada, también puede especificar el conjunto de datos que se usa para validar los modelos. Esta gran cantidad de opciones significa que puede generar fácilmente muchos conjuntos de resultados diferentes que se deben comparar y analizar fácilmente.

En esta sección se proporciona información que le ayudará a configurar correctamente la validación cruzada.

Establecer el número de particiones

Al especificar el número de particiones, se determina el número de modelos temporales que se crearán. Para cada partición, se marca una sección transversal de los datos para su uso como conjunto de pruebas y se crea un nuevo modelo mediante el entrenamiento en los datos restantes que no están en la partición. Este proceso se repite hasta que SQL Server Analysis Services ha creado y probado el número especificado de modelos. Los datos especificados como disponibles para la validación cruzada se distribuyen uniformemente entre todas las particiones.

En el ejemplo del diagrama se muestra el uso de datos si se especifican tres divisiones.

Cómo la validación cruzada segmenta los datos

En el escenario del diagrama, la estructura de minería contiene un conjunto de datos de reserva que se utiliza para pruebas, pero el conjunto de datos de prueba no se ha incluido para la validación cruzada. Como resultado, todos los datos del conjunto de datos de entrenamiento y el 70 % de los datos de la estructura de minería de datos se utilizan para la validación cruzada. El informe de validación cruzada muestra el número total de casos usados en cada partición.

También puede especificar la cantidad de datos que se usan durante la validación cruzada especificando el número de casos generales que se van a usar. Los casos se distribuyen uniformemente entre todos los pliegues.

Para las estructuras de minería de datos almacenadas en una instancia de SQL Server SQL Server Analysis Services, el valor máximo que puede establecer para el número de plegamientos es 256 o el número de casos, lo que sea menor. Si usa una estructura de minería de sesiones, el número máximo de pliegues es 10.

Nota:

A medida que aumenta el número de plegamientos, el tiempo necesario para realizar la validación cruzada aumenta en consecuencia, ya que se debe generar y probar un modelo para cada plegado. Puede experimentar problemas de rendimiento si el número de plegamientos es demasiado alto.

Establecimiento del umbral de precisión

El umbral de estado le permite establecer la barra de precisión para las predicciones. Para cada caso, el modelo calcula la probabilidad de predicción, lo que significa la probabilidad de que el estado previsto sea correcto. Si la probabilidad de predicción supera la barra de precisión, la predicción se cuenta como correcta; si no es así, la predicción se cuenta como incorrecta. Para controlar este valor, establezca Umbral de estado en un número comprendido entre 0,0 y 1,0, donde los números más cercanos a 1 indican un nivel de confianza fuerte en las predicciones y los números más cercanos a 0 indican que la predicción es menos probable que sea cierta. El valor predeterminado para el umbral de estado es NULL, lo que significa que el estado previsto con la probabilidad más alta se considera el valor de destino.

Debe tener en cuenta que la configuración del umbral de estado afecta a las medidas de precisión del modelo. Por ejemplo, supongamos que tiene tres modelos que desea probar. Todos se basan en la misma estructura de minería de datos y todas predicen la columna [Bike Buyer]. Además, quiere predecir un valor único de 1, lo que significa "sí, comprará". Los tres modelos devuelven predicciones con probabilidades de predicción de 0,05, 0,15 y 0,8. Si establece el umbral de estado en 0,10, dos de las predicciones se cuentan como correctas. Si establece el umbral de estado en 0,5, solo se cuenta un modelo como si hubiera devuelto una predicción correcta. Si usa el valor predeterminado, null, la predicción más probable se cuenta como correcta. En este caso, las tres predicciones se contarían como correctas.

Nota:

Puede establecer un valor de 0,0 para el umbral, pero el valor no tiene sentido, ya que cada predicción se contará como correcta, incluso aquellas con probabilidad cero. Tenga cuidado de no establecer accidentalmente umbral de estado en 0,0.

Elección de modelos y columnas para validar

Al usar la pestaña Validación cruzada en el Diseñador de minería de datos, primero debe seleccionar la columna de predicción de una lista. Normalmente, una estructura de minería de datos puede admitir muchos modelos de minería de datos, no todos los cuales usan la misma columna de predicción. Al ejecutar la validación cruzada, solo los modelos que usan la misma columna de predicción se pueden incluir en el informe.

Para elegir un atributo de predicción, haga clic en Atributo de destino y seleccione la columna de la lista. Si el atributo de destino es una columna anidada o una columna de una tabla anidada, debe escribir el nombre de la columna anidada con el formato <Nested Table Name>(key).<Columna> anidada. Si la única columna usada de la tabla anidada es la columna de clave, puede usar <Nested Table Name>(key).

Después de seleccionar el atributo de predicción, SQL Server Analysis Services prueba automáticamente todos los modelos que usan el mismo atributo de predicción. Si el atributo de destino contiene valores discretos, después de seleccionar la columna de predicción, puede escribir opcionalmente un estado de destino, si hay un valor específico que desea predecir.

La selección del estado de destino afecta a los indicadores que se devuelven. Si especifica un atributo de destino, es decir, un nombre de columna y no elige un valor específico que desea que el modelo prediga, el modelo se evaluará de forma predeterminada en su predicción del estado más probable.

Cuando se usa la validación cruzada con modelos de agrupación en clústeres, no hay ninguna columna predecible; en su lugar, seleccione #Cluster de la lista en el cuadro de lista Atributo de destino . Después de seleccionar esta opción, se deshabilitan otras opciones que no son relevantes para los modelos de agrupación en clústeres, como Estado de destino. A continuación, SQL Server Analysis Services probará todos los modelos de agrupación en clústeres asociados a la estructura de minería de datos.

Herramientas para la validación cruzada

Puede usar la validación cruzada desde el Diseñador de minería de datos o puede realizar la validación cruzada mediante la ejecución de procedimientos almacenados.

Si usa las herramientas del Diseñador de minería de datos para realizar la validación cruzada, puede configurar los parámetros de resultados de entrenamiento y precisión en un único cuadro de diálogo. Esto facilita la configuración y visualización de los resultados. Puede medir la precisión de todos los modelos de minería de datos relacionados con una única estructura de minería de datos y ver los resultados inmediatamente en un informe HTML. Sin embargo, los procedimientos almacenados ofrecen algunas ventajas, como personalizaciones agregadas y la capacidad de crear scripts del proceso.

Validación cruzada en el Diseñador de minería de datos

Puede realizar la validación cruzada mediante la pestaña Validación cruzada de la vista Gráfico de precisión de minería de datos en SQL Server Management Studio o SQL Server Development Studio.

Para ver un ejemplo de cómo crear un informe de validación cruzada mediante la interfaz de usuario, consulte Creación de un informe de validación cruzada.

Procedimientos almacenados de validación cruzada

Para los usuarios avanzados, la validación cruzada también está disponible en forma de procedimientos almacenados del sistema totalmente parametrizados. Puede ejecutar los procedimientos almacenados mediante la conexión a una instancia de SQL Server Management Studio o desde cualquier aplicación de código administrado.

Los procedimientos almacenados se agrupan por tipo de modelo de minería de datos. Un conjunto de procedimientos almacenados solo funciona con modelos de agrupación en clústeres. El otro conjunto de procedimientos almacenados funciona con otros modelos de minería de datos.

Para cada tipo de modelo de minería de datos, agrupado o no agrupado, los procedimientos almacenados realizan la validación cruzada en dos fases independientes.

Particionar datos y generar métricas para particiones

Para la primera fase, usted llama a un procedimiento almacenado del sistema que crea tantas particiones como usted especifique en el conjunto de datos y devuelve resultados de precisión para cada partición. Para cada métrica, Analysis Services calcula la media y la desviación estándar de las particiones.

Generación de métricas para todo el conjunto de datos

En la segunda fase, usted llama a un conjunto diferente de procedimientos almacenados. Estos procedimientos almacenados no particiona el conjunto de datos, sino que generan resultados de precisión para el conjunto de datos especificado en su conjunto. Si ya ha particionado y procesado una estructura de minería, puede utilizar este segundo conjunto de procedimientos almacenados para obtener únicamente los resultados.

Definición de los datos de prueba

Al ejecutar los procedimientos almacenados de validación cruzada que calculan la precisión (SystemGetAccuracyResults o SystemGetClusterAccuracyResults), puede especificar el origen de los datos que se usan para realizar pruebas durante la validación cruzada. Esta opción no está disponible en la interfaz de usuario.

Puede especificar como origen de datos de prueba cualquiera de las siguientes opciones:

  • Use solo los datos de entrenamiento.

  • Incluya un conjunto de datos de prueba existente.

  • Use solo el conjunto de datos de prueba.

  • Aplique filtros existentes a cada modelo.

  • Cualquier combinación del conjunto de entrenamiento, el conjunto de pruebas y los filtros de modelo.

Para especificar un origen de datos de prueba, proporcione un valor entero para el parámetro DataSet del procedimiento almacenado. Para obtener una lista de los valores de argumento, vea la sección Comentarios del tema de referencia del procedimiento almacenado correspondiente.

Si realiza la validación cruzada mediante el informe de Validación Cruzada en el Diseñador de minería de datos, no puede cambiar el conjunto de datos que se usa. De forma predeterminada, se usan los casos de entrenamiento de cada modelo. Si un filtro está asociado a un modelo, se aplica el filtro.

Resultados de la validación cruzada

Si usa el Diseñador de minería de datos, estos resultados se muestran en un visor web similar a la cuadrícula. Si usa los procedimientos almacenados de validación cruzada, estos mismos resultados se devuelven como una tabla.

El informe contiene dos tipos de medidas: agregados que indican la variabilidad del conjunto de datos cuando se divide en plegamientos y medidas específicas del modelo de precisión para cada plegado. En los temas siguientes se proporciona más información sobre estas métricas:

Fórmulas de validación cruzada

Enumera todas las medidas por tipo de prueba. Describe en general cómo se pueden interpretar las medidas.

Medidas en el informe de validación cruzada

Describe las fórmulas para calcular cada medida y enumera el tipo de atributo al que se puede aplicar cada medida.

Restricciones en la validación cruzada

Si realiza la validación cruzada mediante el informe de validación cruzada en SQL Server Development Studio, existen algunas limitaciones en los modelos que puede probar y los parámetros que puede establecer.

  • De forma predeterminada, todos los modelos asociados a la estructura de minería de datos seleccionada se someten a validación cruzada. No se puede especificar el modelo ni una lista de modelos.

  • No se admite la validación cruzada para los modelos basados en el algoritmo de serie temporal de Microsoft ni en el algoritmo de agrupación en clústeres de secuencia de Microsoft.

  • No se puede crear el informe si la estructura de minería de datos no contiene ningún modelo que se pueda probar mediante validación cruzada.

  • Si la estructura de minería de datos contiene modelos de agrupación en clústeres y no agrupados y no elige la opción #Cluster , los resultados de ambos tipos de modelos se muestran en el mismo informe, aunque la configuración de atributo, estado y umbral no sea adecuada para los modelos de agrupación en clústeres.

  • Algunos valores de parámetro están restringidos. Por ejemplo, se muestra una advertencia si el número de plegamientos es superior a 10, ya que la generación de tantos modelos podría hacer que el informe se muestre lentamente.

Si va a probar varios modelos de minería de datos y los modelos tienen filtros, cada modelo se filtra por separado. No se puede agregar un filtro a un modelo ni cambiar el filtro de un modelo durante la validación cruzada.

Por defecto, la validación cruzada prueba todos los modelos de minería asociados a una estructura, por lo que usted podría obtener resultados incoherentes si algunos modelos tienen un filtro y otros no. Para asegurarse de comparar solo los modelos que tienen el mismo filtro, debe utilizar procedimientos almacenados y especificar una lista de modelos de minería. O bien, use solo el conjunto de prueba de la estructura de minería sin filtros para asegurarse de que se usa un conjunto coherente de datos para todos los modelos.

Si realiza la validación cruzada mediante los procedimientos almacenados, tiene la opción adicional de elegir el origen de datos de prueba. Si realiza la validación cruzada mediante el Diseñador de minería de datos, debe usar el conjunto de datos de prueba asociado al modelo o la estructura, si existe. Por lo general, si desea especificar la configuración avanzada, debe usar los procedimientos almacenados de validación cruzada.

No se puede usar la validación cruzada con modelos de agrupación en clústeres de secuencia o serie temporal. En concreto, no se puede incluir ningún modelo que contenga una columna KEY TIME o una columna KEY SEQUENCE en la validación cruzada.

Consulte los siguientes temas para obtener más información sobre la validación cruzada y los métodos relacionados para probar modelos de minería, como las gráficas de precisión.

Temas Enlaces
Describe cómo establecer parámetros de validación cruzada en SQL Server Development Studio. Pestaña de validación cruzada (Vista del gráfico de precisión de minería de datos)
Describe las métricas proporcionadas por la validación cruzada. Fórmulas de validación cruzada
Explica el formato del informe de validación cruzada y define las medidas estadísticas proporcionadas para cada tipo de modelo. Medidas en el informe de validación cruzada
Enumera los procedimientos almacenados para calcular estadísticas de validación cruzada. Procedimientos almacenados de minería de datos (Analysis Services - Minería de datos)
Describir cómo crear un conjunto de datos de prueba para estructuras de minería y modelos relacionados. Conjuntos de datos de entrenamiento y pruebas
Vea ejemplos de otros tipos de gráficos de precisión. Matriz de clasificación (Analysis Services - Minería de datos)

Gráfico de elevación (Analysis Services - Minería de datos)

Gráfico de beneficios (Analysis Services - Minería de datos)

Gráfico de dispersión (Servicios de análisis - Minería de datos)
Describe los pasos para crear varios gráficos de precisión. Tareas y procedimientos de prueba y validación (minería de datos)

Véase también

Pruebas y validación (minería de datos)