Validación cruzada (Analysis Services - Minería de datos)
La validación cruzada es una herramienta estándar de análisis que resulta muy útil a la hora de desarrollar y ajustar los modelos de minería de datos. La validación cruzada se usa después de crear una estructura de minería de datos y los modelos de minería de datos relacionados para determinar la validez del modelo. La validación cruzada tiene las aplicaciones siguientes:
Validar la solidez de un modelo de minería de datos determinado.
Evaluar varios modelos de una instrucción única.
Generar varios modelos e identificar a continuación el mejor modelo basándose en estadísticas.
En esta sección se describe cómo usar las características de validación cruzada proporcionadas en SQL Server 2008 y cómo interpretar los resultados de validación cruzada para un modelo o un conjunto de datos determinado. Puede ejecutar la validación cruzada como un conjunto de procedimientos almacenados. También puede usar la validación cruzada del Diseñador de minería de datos, en Business Intelligence Development Studio.
Información general sobre el proceso de validación cruzada
La validación cruzada consta de dos fases, entrenamiento y generación de resultados. En estas fases se incluyen los pasos siguientes:
Seleccionar una estructura de minería de datos de destino
Especificar los modelos que desea probar.
Especificar el número de plegamientos en los que desea crear particiones de los datos de la estructura
Analysis Services crea y entrena tantos modelos como plegamientos.
Para generar los resultados, debe especificar los parámetros de pruebas para los modelos entrenados.
Especificación del origen de los datos de pruebas. (Esta característica sólo está disponible cuando se usan los procedimientos almacenados).
Especificar el atributo de predicción, el valor de predicción y el umbral de precisión.
A continuación, Analysis Services devuelve un conjunto de métricas de precisión para cada uno de los plegamientos de cada modelo. También puede devolver métricas de precisión para el conjunto de datos como un todo.
Usar la validación cruzada en el Diseñador de minería de datos
Si realiza la validación cruzada mediante la ficha Validación cruzada de la vista Gráfico de precisión de minería de datos en Business Intelligence Development Studio, puede configurar los parámetros de los resultados de precisión y entrenamiento en un formulario único. Esto facilita la configuración y la visualización de resultados. Puede medir la precisión de todos los modelos de minería datos relacionados con una estructura de minería de datos única y, a continuación, ver inmediatamente los resultados en un informe HTML.
Para obtener más información sobre el formato del informe y las métricas de precisión proporcionadas por la validación cruzada, vea Informe de validación cruzada (Analysis Services - Minería de datos).
Para obtener información sobre cómo configurar los parámetros de validación cruzada en Business Intelligence Development Studio, vea Ficha Validación cruzada (vista Gráfico de precisión de minería de datos).
Usar los procedimientos almacenados de validación cruzada
Para los usuarios expertos, la validación cruzada también está disponible como cuatro procedimientos almacenados de sistema. Puede ejecutar los procedimientos almacenados si se conecta a una instancia de Analysis Services 2008 desde 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. El primer par de procedimientos funciona sólo con modelos de agrupación en clústeres. El segundo par de procedimientos funciona con otros modelos de minería de datos.
Nota
La validación cruzada no se puede usar con ningún modelo que contenga una columna KEY TIME o una columna KEY SEQUENCE.
Para cada tipo de modelo de minería de datos, hay dos procedimientos almacenados. El primer procedimiento crea tantas particiones como especifique dentro del conjunto de datos y devuelve los resultados de precisión para cada partición. Para cada métrica, Analysis Services calcula las desviaciones media y estándar para las particiones.
El segundo procedimiento almacenado no crea particiones del conjunto de datos, pero genera resultados de precisión para el conjunto de datos especificados como un todo. También puede usar el segundo procedimiento almacenado si ya se han realizado particiones y se han procesado tanto la estructura de minería de datos como sus modelos.
Realizar particiones de datos y generar métricas para particiones
SystemGetCrossValidationResults (Analysis Services - Minería de datos)
SystemGetClusterCrossValidationResults (Analysis Services - Minería de datos)
Generar métricas para todo el conjunto de datos
SystemGetAccuracyResults (Analysis Services - Minería de datos)
SystemGetClusterAccuracyResults (Analysis Services - Minería de datos)
Configurar la validación cruzada
Puede personalizar el modo de funcionamiento de la validación cruzada para controlar el número de secciones cruzadas, los modelos probados y la barra de precisión para 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 variedad de opciones implica que puede producir con facilidad muchos conjuntos de resultados diferentes que a continuación se deben comparar y analizar.
En esta sección se proporciona información para ayudarle a configurar la validación cruzada correctamente.
Establecer el número de particiones
Al especificar el número de particiones, se determina cuántos modelos temporales se van a crear. 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 entrenamiento en los datos restantes y no en la partición. Este proceso se repite hasta que Analysis Services ha creado y probado el número de modelos especificado. Los datos especificados como disponibles para validación cruzada se distribuyen uniformemente entre todas las particiones.
El ejemplo del diagrama muestra el uso de los datos si se especifican tres plegamientos.
En el escenario del diagrama, la estructura de minería de datos contiene un conjunto de datos de exclusión que se usa para pruebas, pero el conjunto de datos de pruebas no se ha incluido para la validación cruzada. Como resultado, todos los datos del conjunto de datos de aprendizaje, el 70 por ciento de los datos de la estructura de minería de datos, se usan para 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 si especifica el número de casos totales que se van a usar. Los casos se distribuyen de forma uniforme en todos los plegamientos.
Si la estructura de minería de datos está almacenada en una instancia de 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 datos de sesión, el número máximo de plegamientos es 10.
Nota
A medida que aumenta el número de plegamientos, aumenta en consecuencia el tiempo necesario para realizar la validación cruzada porque se debe generar y probar un modelo para cada plegamiento. Puede experimentar problemas de rendimiento si el número de plegamientos es demasiado alto.
Definir los datos de prueba
Al ejecutar los procedimientos almacenados que calculan precisión, SystemGetAccuracyResults (Analysis Services - Minería de datos) o SystemGetClusterAccuracyResults (Analysis Services - Minería de datos), puede especificar el origen de los datos que se usan para realizar pruebas durante la validación cruzada mediante combinaciones de las opciones siguientes:
Usar sólo los datos de aprendizaje.
Incluir un conjunto de datos de pruebas existente.
Usar sólo el conjunto de datos de pruebas.
Aplicar los filtros existentes a cada modelo.
Cualquier combinación del conjunto de entrenamiento, conjunto de pruebas y filtros de modelos.
Puede controlar la composición del conjunto de datos de pruebas si proporciona un valor para el parámetro DataSet.
Si realiza una validación cruzada mediante el informe 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 para cada modelo. Si un filtro está asociado a un modelo, se aplica dicho filtro.
Validación cruzada de modelos de minería de datos filtrados
Si prueba varios modelos de minería de datos y éstos tienen filtros, cada modelo se filtra por separado. No se puede agregar a un modelo un nuevo filtro o cambiar uno existente durante la validación cruzada.
Dado que la validación cruzada prueba de manera predeterminada todos los modelos de minería de datos asociados a una estructura, puede recibir resultados incoherentes si algunos modelos tienen un filtro y otros no. Para asegurarse de que compara sólo los modelos que tienen el mismo filtro, debería usar los procedimientos almacenados y especificar una lista de modelos de minería de datos. O bien, use sólo el conjunto de pruebas de la estructura de minería de datos sin filtros para asegurarse de que se usa un conjunto coherente de datos para todos los modelos.
Establecer el 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 una probabilidad, denominada probabilidad de predicción, de que el estado de predicción es correcto. Si la probabilidad de predicción supera la barra de precisión, la predicción se considera correcta; de no ser así, la predicción se cuenta como incorrecta. Para controlar este valor, hay que establecer State Threshold en un número entre 0.0 y 1.0, donde los números más cercanos a 1 indican un alto nivel de confianza en las predicciones, y los números más próximos a 0 indican que hay mayor probabilidad de que la predicción sea verdadera. El valor predeterminado para el umbral de estado es NULL, lo que significa que el estado de predicción con la probabilidad superior se considera el valor de destino.
Nota
Puede establecer un valor de 0.0, pero carece de significado porque todas las predicciones se contarán como correctas, incluso las de probabilidad cero. Tenga cuidado con no establecer por error State Threshold en 0.0.
Por ejemplo, tiene tres modelos que predicen la columna [Bike Buyer] y el valor que desea predecir es 1, que significa que 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, sólo se cuenta que un modelo ha 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.
Métricas usadas en validación cruzada
Se generan diferentes métricas de precisión según el tipo concreto de modelo de minería de datos, el tipo de datos del atributo de predicción y el valor del atributo de predicción, si existe. En esta sección se definen las métricas principales como referencia. Para obtener una lista de las métricas de precisión devueltas en el informe para cada modelo, agrupadas por tipo, vea Informe de validación cruzada (Analysis Services - Minería de datos).
Medida |
Se aplica a |
Implementación |
---|---|---|
Clasificación: verdadero positivo, falso positivo, verdadero negativo, falso positivo |
Atributo discreto, se especifica el valor. |
El recuento de filas o valores en la partición donde la probabilidad de predicción es mayor que el umbral de estado y donde el estado predicho coincide con el estado de destino. |
Clasificación: sin errores/con errores |
Atributo discreto, sin destino especificado |
El recuento de filas o valores en la partición donde el estado predico coincide con el estado de destino y donde el valor de la probabilidad de predicción es mayor que 0. |
Mejora respecto al modelo predictivo |
Atributo discreto. Se puede especificar el valor de destino pero no es necesario. |
La probabilidad de registro de la media de todas las filas con valores para el atributo de destino, donde la probabilidad de registro para cada caso se calcula como Log(ActualProbability/MarginalProbability). Para calcular la media, la suma de los valores de probabilidad de registro se divide entre el número de filas del conjunto de datos de entrada, exceptuando las filas con valores ausentes para el attribute de destino. La elevación puede ser un valor negativo o un valor positivo. Un valor positivo significa un modelo efectivo que excede la suposición aleatoria. |
Puntuación del registro |
Atributo discreto. Se puede especificar el valor de destino pero no es necesario. |
El registro de la probabilidad real para cada caso, sumada y, a continuación, dividida por el número de filas en el conjunto de datos de entrada, excepto las filas con valores ausentes para el atributo de destino. Dado que la probabilidad se representa como una fracción decimal, las puntuaciones de registro siempre son números negativos. |
Probabilidad de casos |
Clúster |
La suma de las puntuaciones de probabilidad de clúster para todos los casos, divididas por el número de casos de la partición, exceptuando las filas con valores ausentes para el atributo de destino. |
Error absoluto medio |
Atributo continuo |
La suma del error absoluto para todos los casos en la partición, dividido por el número de casos en la partición, excepto los casos con valores ausentes. |
Error cuadrático medio |
Atributo continuo |
Raíz cuadrada del error cuadrático medio para la partición. |
Error cuadrático medio |
Atributo discreto. Se puede especificar el valor de destino pero no es necesario. |
La raíz cuadrada de la media de los cuadrados del complemento de la puntuación de probabilidad, dividida por el número de casos de la partición, excepto las filas con valores ausentes para el atributo de destino. |
Error cuadrático medio |
Atributo discreto, sin destino especificado. |
La raíz cuadrada de la media de los cuadrados del complemento de la puntuación de probabilidad, dividida por el número de casos de la partición, excepto los casos con valores ausentes para el atributo de destino. |