Compartir a través de


Conjuntos de datos de entrenamiento y pruebas

Separar los datos en conjuntos de entrenamiento y pruebas es una parte importante de la evaluación de modelos de minería de datos. Normalmente, cuando se separa un conjunto de datos en un conjunto de entrenamiento y un conjunto de pruebas, la mayoría de los datos se usan para el entrenamiento y se usa una parte más pequeña de los datos para las pruebas. Analysis Services muestrea aleatoriamente los datos para ayudar a garantizar que las pruebas y los conjuntos de entrenamiento sean similares. Mediante el uso de datos similares para el entrenamiento y las pruebas, puede minimizar los efectos de las discrepancias de datos y comprender mejor las características del modelo.

Después de procesar un modelo mediante el conjunto de entrenamiento, pruebe el modelo realizando predicciones en el conjunto de test. Dado que los datos del conjunto de pruebas ya contienen valores conocidos para el atributo que desea predecir, es fácil determinar si las estimaciones del modelo son correctas.

Crear conjuntos de prueba y entrenamiento para estructuras de minería de datos

En SQL Server 2014, se separa el conjunto de datos original en el nivel de la estructura de minería. La información sobre el tamaño de los conjuntos de datos de entrenamiento y pruebas, y qué fila pertenece a ese conjunto, se almacena con la estructura y todos los modelos basados en esa estructura pueden usar los conjuntos para el entrenamiento y las pruebas.

Puede definir un conjunto de datos de prueba en una estructura de minería de las siguientes maneras:

  • Usar el Asistente para minería de datos para dividir la estructura de minería de datos al crearla.

  • Modificar las propiedades de la estructura en la pestaña Estructura de minería del Diseñador de Minería de Datos.

  • Crear y modificar estructuras mediante programación mediante objetos de administración de análisis (AMO) o lenguaje de definición de datos XML (DDL).

Usar el Asistente para minería de datos para dividir una estructura de minería de datos

De forma predeterminada, después de definir los orígenes de datos para una estructura de minería de datos, el Asistente para minería de datos dividirá los datos en dos conjuntos: uno con el 70 por ciento de los datos de origen, para entrenar el modelo y otro con el 30 por ciento de los datos de origen, para probar el modelo. Este valor predeterminado se eligió porque se suele usar una relación de 70 a 30 en la minería de datos, pero con Analysis Services puede cambiar esta relación para adaptarse a sus requisitos.

También puede configurar el asistente para establecer un número máximo de casos de entrenamiento, o puede combinar los límites para permitir un porcentaje máximo de casos hasta un número máximo determinado de casos. Cuando se especifica un porcentaje máximo de casos y un número máximo de casos, Analysis Services usa el menor de los dos límites como el tamaño del conjunto de pruebas. Por ejemplo, si especifica un 30 % de espera para los casos de prueba y el número máximo de casos de prueba como 1000, el tamaño del conjunto de pruebas nunca superará los 1000 casos. Esto puede ser útil si desea asegurarse de que el tamaño del conjunto de pruebas sea coherente incluso si se agregan más datos de entrenamiento al modelo.

Si usa la misma vista del origen de datos para diferentes estructuras de minería de datos y desea asegurarse de que los datos se dividan aproximadamente de la misma manera para todas las estructuras y sus modelos, debe especificar la semilla que se utiliza para inicializar el muestreo aleatorio. Al especificar un valor para HoldoutSeed, Analysis Services usará ese valor para comenzar el muestreo. De lo contrario, el muestreo usa un algoritmo de hash en el nombre de la estructura de minería para crear el valor de inicialización.

Nota:

Si crea una copia de la estructura de minería de datos mediante las EXPORT instrucciones y IMPORT , la nueva estructura de minería de datos tendrá los mismos conjuntos de datos de entrenamiento y prueba, ya que el proceso de exportación crea un nuevo identificador, pero usa el mismo nombre. Sin embargo, si dos estructuras de minería de datos usan el mismo origen de datos subyacente, pero tienen nombres diferentes, los conjuntos que se crean para cada estructura de minería de datos serán diferentes.

Modificar propiedades de estructura para crear un conjunto de datos de prueba

Si crea y procesa una estructura de minería de datos y, después, decide que desea reservar un conjunto de datos de prueba, puede modificar las propiedades de la estructura de minería de datos. Para cambiar la forma en que se particionan los datos, edite las siguientes propiedades:

Propiedad Descripción
HoldoutMaxCases Especifica el número máximo de casos que se van a incluir en el conjunto de pruebas.
HoldoutMaxPercent Especifica el número de casos que se van a incluir en el conjunto de pruebas como porcentaje del conjunto de datos completo. Para no tener ningún conjunto de datos, especificaría 0.
HoldoutSeed Especifica un valor entero que se usará como semilla para seleccionar datos aleatoriamente para las particiones. Este valor no afecta el número de casos en el conjunto de entrenamiento; en su lugar, asegura que la partición se pueda repetir.

Si agrega o cambia un conjunto de datos de prueba a una estructura existente, debe volver a procesar la estructura y todos los modelos asociados. Además, dado que dividir los datos de origen hace que el modelo se entrene en un subconjunto diferente de los datos, es posible que vea resultados diferentes del modelo.

Especificación de holdout mediante programación

Puede definir conjuntos de datos de prueba y de entrenamiento en una estructura de minería mediante instrucciones DMX, AMO o DDL XML. La instrucción ALTER MINING STRUCTURE no admite el uso de parámetros de espera.

  • DMX En el lenguaje de Extensiones de Minería de Datos (DMX), se ha ampliado la instrucción CREATE MINING STRUCTURE para incluir una cláusula WITH HOLDOUT.

  • ASSL Puede crear una nueva estructura de minería de datos o agregar un conjunto de datos de prueba a una estructura de minería de datos existente mediante el lenguaje de scripting de Analysis Services (ASSL).

  • AMO También puede ver y modificar conjuntos de datos de suspensión mediante AMO..

Puede ver información sobre el conjunto de datos de espera en una estructura de minería de datos existente consultando el conjunto de filas del esquema de minería de datos. Para ello, realice una llamada DISCOVER ROWSET o puede usar una consulta DMX.

Recuperar información sobre los datos de espera

De forma predeterminada, toda la información sobre los conjuntos de datos de entrenamiento y prueba se almacena en caché, de modo que pueda usar los datos existentes para entrenar y, a continuación, probar nuevos modelos. También puede definir filtros para aplicarlos a los datos de espera almacenados en caché para que pueda evaluar el modelo en subconjuntos de los datos.

La forma en que los casos se dividen en conjuntos de datos de entrenamiento y pruebas depende de la forma en que configure el holdout y los datos que proporcione. Si desea determinar el número de casos usados para el entrenamiento o para las pruebas, o si desea encontrar detalles adicionales sobre los casos incluidos en los conjuntos de entrenamiento y pruebas, puede consultar la estructura del modelo mediante la creación de una consulta DMX. Por ejemplo, la consulta siguiente devuelve los casos que se usaron en el conjunto de entrenamiento del modelo.

SELECT * from <structure>.CASES WHERE IsTrainingCase()  

Para obtener solo los casos de prueba y además filtrar los casos de prueba en una de las columnas de la estructura de minería, use la siguiente sintaxis:

SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>'  

Limitaciones en el uso de datos reservados

  • Para usar el holdout, la MiningStructureCacheMode propiedad de la estructura de minería de datos debe configurarse al valor predeterminado, KeepTrainingCases. Si cambia la propiedad CacheMode a ClearAfterProcessing, y a continuación vuelve a procesar la estructura de minería, se perderá la partición.

  • No se pueden quitar datos de un modelo de serie temporal; por lo tanto, no puede separar los datos de origen en conjuntos de entrenamiento y pruebas. Si empieza a crear una estructura de minería y un modelo y elige el algoritmo Microsoft Time Series, la opción para crear un conjunto de datos de validación está deshabilitada. El uso de datos de retención también se deshabilita si la estructura de minería de datos contiene una columna KEY TIME en el nivel de caso o de tabla anidada.

  • Es posible configurar accidentalmente el conjunto de datos de validación de modo que el conjunto de datos completo se use para las pruebas y no quede ningún dato para el entrenamiento. Sin embargo, si lo hace, Analysis Services generará un error para que pueda corregir el problema. Analysis Services también le advierte cuando la estructura se procesa si se ha reservado más del 50 por ciento de los datos para pruebas.

  • En la mayoría de los casos, el valor de espera predeterminado de 30 proporciona un buen equilibrio entre los datos de entrenamiento y pruebas. No hay ninguna manera sencilla de determinar el tamaño que debe tener el conjunto de datos para proporcionar suficiente entrenamiento o la dispersión del conjunto de entrenamiento y evitar el sobreajuste. Sin embargo, después de crear un modelo, puede usar la validación cruzada para evaluar el conjunto de datos con respecto a un modelo determinado.

  • Además de las propiedades enumeradas en la tabla anterior, se proporciona una propiedad de solo lectura, HoldoutActualSize, en AMO y XML DDL. Sin embargo, dado que el tamaño real de una partición no se puede determinar con precisión hasta que se haya procesado la estructura, debe comprobar si el modelo se ha procesado antes de recuperar el valor de la HoldoutActualSize propiedad.

Temas Enlaces
Describe cómo interactúan los filtros en un modelo con conjuntos de datos de entrenamiento y pruebas. Filtros para modelos de minería de datos (Analysis Services - Minería de datos)
Describe cómo el uso de datos de entrenamiento y pruebas afecta a la validación cruzada. Validación cruzada (Analysis Services - Minería de datos)
Proporciona información sobre las interfaces programáticas para trabajar con conjuntos de entrenamiento y pruebas en una estructura de minería de datos. Conceptos y modelo de objetos de AMO

Estructura de Minería (ASSL)
Proporciona sintaxis DMX para crear conjuntos de prueba. CREAR ESTRUCTURA DE MINERÍA (DMX)
Obtenga información sobre los casos de los conjuntos de entrenamiento y prueba. Conjuntos de filas de esquema de minería de datos

Consulta de los conjuntos de filas del esquema de minería de datos (Analysis Services - Minería de datos)

Véase también

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