Compartir a través de


CREATE MINING MODEL (DMX)

Crea un nuevo modelo de minería de datos y una estructura de minería de datos en la base de datos. Para crear un modelo, puede definir el nuevo modelo en la instrucción o usar el Lenguaje de marcado de modelos de predicción (PMML). Esta segunda opción es sólo para usuarios expertos.

Para asignar el nombre a la estructura de minería de datos, se anexa "_structure" al nombre del modelo, lo que garantiza que el nombre de la estructura sea distinto del nombre del modelo.

Para crear un modelo de minería de datos para una estructura existente, use la instrucción ALTER MINING STRUCTURE (DMX).

Sintaxis

CREATE [SESSION] MINING MODEL <model>
(
    [(<column definition list>)]
)
USING <algorithm> [(<parameter list>)] [WITH DRILLTHROUGH]
CREATE MINING MODEL <model> FROM PMML <xml string>

Argumentos

  • model
    Nombre único del modelo.

  • column definition list
    Lista delimitada por comas de definiciones de columna.

  • algorithm
    Nombre de un algoritmo de minería de datos definido por el proveedor actual.

    [!NOTA]

    La lista de los algoritmos admitidos por el proveedor actual se puede recuperar utilizando Conjunto de filas DMSCHEMA_MINING_SERVICES. Para ver los algoritmos admitidos en la instancia actual de Analysis Services, vea Propiedades de minería de datos.

  • parameter list
    Opcional. Lista delimitada por comas de parámetros definidos por el proveedor para el algoritmo.

  • XML string
    (Sólo para usuarios expertos.) Modelo XML codificado (PMML). La cadena debe estar entre comillas simples (').

La cláusula SESSION permite crear un modelo de minería de datos que se quita automáticamente del servidor cuando se cierra la conexión o se agota el tiempo de espera de la sesión. Los modelos de minería de datos SESSION son útiles porque no requieren que el usuario sea un administrador de base de datos y sólo usan espacio en disco mientras la conexión está abierta.

La cláusula WITH DRILLTHROUGH permite la obtención de detalles del nuevo modelo de minería de datos. La obtención de detalles sólo se puede habilitar al crear el modelo. En algunos tipos de modelo, la obtención de detalles es necesaria para examinar el modelo en el visor personalizado. La obtención de detalles no es necesaria para la predicción o para examinar el modelo utilizando el Visor de árbol de contenido genérico de Microsoft.

La instrucción CREATE MINING MODEL crea un nuevo modelo de minería basado en la lista de definiciones de columna, el algoritmo y la lista de parámetros del algoritmo.

Lista de definiciones de columna

Para definir la estructura de un modelo que usa la lista de definiciones de columna, debe incluir la siguiente información para cada columna:

  • Nombre (obligatorio)

  • Tipo de datos (obligatorio)

  • Distribución

  • Lista de indicadores de modelado

  • Tipo de contenido (obligatorio)

  • Solicitud de predicción, que indica al algoritmo que debe predecir esta columna, indicada por la cláusula PREDICT o PREDICT_ONLY

  • Relación con una columna de atributos (obligatoria sólo si corresponde), indicada por la cláusula RELATED TO

Use la siguiente sintaxis en la lista de definición de columnas para definir una sola columna:

<column name>    <data type>    [<Distribution>]    [<Modeling Flags>]    <Content Type>    [<prediction>]    [<column relationship>] 

Use la siguiente sintaxis en la lista de definición de columnas para definir una columna de tabla anidada:

<column name>    TABLE    [<prediction>] ( <non-table column definition list> )

Excepto en el caso de los indicadores de modelado, sólo se puede usar una única cláusula de un grupo específico para definir una columna. Puede definir varios indicadores de modelado para una columna.

Para obtener una lista de los tipos de datos, tipos de contenido, distribuciones de columnas e indicadores de modelado que puede usar en la definición de una columna, vea los siguientes temas:

Puede agregar una cláusula a la instrucción para describir la relación existente entre dos columnas. Analysis Services admite el uso de la cláusula de <relación entre columnas> siguiente.

  • RELATED TO
    Indica una jerarquía de valores. El destino de una columna RELATED TO puede ser una columna de clave de una tabla anidada, una columna de valores discretos en la fila de caso u otra columna con una cláusula RELATED TO, que indica una jerarquía de más niveles.

Use una cláusula de predicción para describir el uso de la columna de predicción. La siguiente tabla describe las dos cláusulas posibles.

Cláusula <prediction>

Descripción

PREDICT

Esta columna puede predecirla el modelo y puede proporcionarse en casos de entrada para predecir el valor de otras columnas de predicción.

PREDICT_ONLY

Esta columna puede predecirla el modelo, pero sus valores no se pueden utilizar en casos de entrada para predecir el valor de otras columnas de predicción.

Lista de definiciones de parámetros

Puede usar la lista de parámetros para ajustar el rendimiento y la funcionalidad de un modelo de minería de datos. La sintaxis de la lista de parámetros es:

[<parameter> = <value>, <parameter> = <value>,…]

Para obtener una lista de los parámetros asociados con cada algoritmo, vea Algoritmos de minería de datos (Analysis Services: Minería de datos).

Notas

Si desea crear un modelo que tenga un conjunto de datos de pruebas integrado, debe utilizar la instrucción CREATE MINING STRUCTURE seguida de ALTER MINING STRUCTURE. Sin embargo, no todos los tipos de modelo admiten un conjunto de datos de exclusiones. Para obtener más información, vea CREATE MINING STRUCTURE (DMX).

Para obtener un tutorial de cómo crear un modelo de minería de datos utilizando la instrucción CREATEMODEL, vea Tutorial DMX de predicción de series temporales.

Ejemplo de Bayes naive

En el siguiente ejemplo se usa el algoritmo Bayes naive de Microsoft para crear un nuevo modelo de minería de datos. La columna Bike Buyer se define como atributo de predicción.

CREATE MINING MODEL [NBSample]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE PREDICT
)
USING Microsoft_Naive_Bayes

Ejemplo de modelo de asociación

En el siguiente ejemplo se usa el algoritmo de asociación de Microsoft para crear un nuevo modelo de minería de datos. La instrucción aprovecha la capacidad de usar una columna de tabla para anidar tablas dentro de la definición de modelo. El modelo se modifica utilizando los parámetros MINIMUM_PROBABILITY y MINIMUM_SUPPORT.

CREATE MINING MODEL MyAssociationModel (
    OrderNumber TEXT KEY,
    [Products] TABLE PREDICT (
        [Model] TEXT KEY
    )
)
USING Microsoft_Association_Rules (Minimum_Probability = 0.1, MINIMUM_SUPPORT = 0.01)

Ejemplo de agrupación de clústeres de secuencia

En el siguiente ejemplo se usa el algoritmo de agrupación de clústeres de secuencia de Microsoft para crear un nuevo modelo de minería de datos. Se usan dos claves para definir el modelo. La columna OrderNumber se utiliza como clave de caso y especifica los pedidos individuales. La columna LineNumber se utiliza como clave de tabla anidada y especifica la secuencia en la que los artículos se agregaron a un pedido.

CREATE MINING MODEL BuyingSequence (
    [Order Number] TEXT KEY,
    [Products] TABLE 
     (
        [Line Number] LONG KEY SEQUENCE,
        [Model] TEXT DISCRETE PREDICT
    )
)
USING Microsoft_Sequence_Clustering

Ejemplo de serie temporal

En el siguiente ejemplo se usa el algoritmo de serie temporal de Microsoft para crear un nuevo modelo de minería de datos mediante el algoritmo ARTxp. ReportingDate es la columna de clave de la serie temporal y ModelRegion es la columna de clave de la serie de datos. En este ejemplo, se supone que la periodicidad de los datos es cada 12 meses. Por consiguiente, el parámetro PERIODICITY_HINT está establecido en 12.

[!NOTA]

Para especificar el parámetro PERIODICITY_HINT debe usar llaves. Además, dado que el valor es una cadena, debe ir entre comillas simples: "{<valor numérico>} ".

CREATE MINING MODEL SalesForecast (
        ReportingDate DATE KEY TIME,
        ModelRegion TEXT KEY,
        Amount LONG CONTINUOUS PREDICT,
        Quantity LONG CONTINUOUS PREDICT
)
USING Microsoft_Time_Series (PERIODICITY_HINT = '{12}', FORECAST_METHOD = 'ARTXP')