Partilhar via


CRIAR UMA ESTRUTURA DE MINERAÇÃO (DMX)

Cria uma nova estrutura de mineração em um banco de dados e define, opcionalmente, as partições de treinamento e de teste. Após ter criado a estrutura de mineração, é possível usar a instrução ALTER MINING STRUCTURE (DMX) para adicionar modelos à estrutura de mineração.

Sintaxe

CREATE [SESSION] MINING STRUCTURE <structure>
(
    [(<column definition list>)]
)
[WITH HOLDOUT (<holdout-specifier> [OR <holdout-specifier>])]
[REPEATABLE(<holdout seed>)]
<holdout-specifier>::=  <holdout-maxpercent> PERCENT | <holdout-maxcases> CASES

Argumentos

  • structure
    Um nome exclusivo para a estrutura.

  • column definition list
    Uma lista de definições de coluna separadas por vírgulas.

  • holdout-maxpercent
    Um número inteiro entre 1 e 100 que indica a porcentagem de dados separados para teste.

  • holdout-maxcases
    Um número inteiro que indica o número de máximo de casos usados para teste.

    Se o valor especificado para o máximo de casos for maior que o número de casos de entrada, todos os casos de entrada serão usados para teste e um aviso será emitido.

    ObservaçãoObservação

    Se a porcentagem e o número máximo de casos forem especificados, o menor dos dois limites será usado.

  • holdout seed
    Um número inteiro usado como a semente para iniciar o particionamento de dados.

    Se definido como 0, o hash da ID da estrutura de mineração será usada como a semente.

    ObservaçãoObservação

    Você deve especificar uma semente se precisar garantir que uma partição pode ser reproduzida.

    Padrão: REPETÍVEL(0)

Comentários

Uma estrutura de mineração é definida especificando uma lista de colunas, especificando, opcionalmente, as relações de hierarquia entre as colunas e particionamento, opcionalmente, a estrutura de mineração em conjuntos de dados de treinamento e de teste.

A palavra-chave opcional SESSION indica que a estrutura é temporária e você pode usá-la somente durante a sessão atual. Quando a sessão terminar, a estrutura e os modelos baseados nela serão excluídos. Para criar estruturas e modelos de mineração temporários, primeiro defina a propriedade de banco de dados AllowSessionMiningModels. Para obter mais informações, consulte Propriedades de mineração de dados.

Lista de definições de coluna

Uma estrutura de mineração é definida incluindo as seguintes informações para cada coluna na lista de definições da coluna:

  • Nome (obrigatório)

  • Tipo de dados (obrigatório)

  • Distribuição

  • Lista de sinalizadores de modelagem

  • Tipo de conteúdo (obrigatório)

  • Relação com uma coluna de atributo (obrigatório, apenas se aplicável), indicada pela cláusula RELATED TO (RELACIONADO A)

Use a seguinte sintaxe para obter a lista de definições de coluna para definir uma única coluna:

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

Use a seguinte sintaxe para obter a lista de definições de coluna para definir uma coluna de tabela aninhada:

<column name>    TABLE    ( <column definition list> )

Para obter uma lista dos tipos de dados, dos tipos de conteúdo, de distribuições de coluna e de sinalizadores de modelagem que podem ser usados para definir uma coluna de estrutura, consulte os seguintes tópicos:

É possível definir diversos sinalizadores de modelagem para uma coluna. No entanto, é possível ter apenas um tipo de conteúdo e um tipo de dados para uma coluna.

Relações de coluna

É possível adicionar uma cláusula a qualquer instrução de definição de coluna para descrever a relação entre duas colunas. O Analysis Services oferece suporte o uso da seguinte cláusula <column relationship>.

  • RELATED TO
    Indica uma hierarquia de valor. O destino de uma coluna RELATED TO pode ser a coluna de chave em uma tabela aninhada, uma coluna com um valor discreto na linha de caso ou outra coluna com uma cláusula RELATED TO, que indica uma hierarquia mais profunda.

Parâmetros de validação

Ao especificar parâmetros de validação, você cria uma partição dos dados da estrutura. A quantidade especificada para validação é reservada para teste e os dados restantes são usados para treinamento. Por padrão, se você criar uma estrutura de mineração usando o SSDT (SQL Server Data Tools), uma partição de validação será criada contendo 30 por cento dos dados de teste e 70 por cento dos dados de treinamento. Para obter mais informações, consulte Conjuntos de dados de teste e treinamento.

Se você criar uma estrutura de mineração usando DMX (Data Mining Extensions), deverá especificar manualmente a criação de uma partição de validação.

ObservaçãoObservação

A instrução ALTER MINING STRUCTURE não suporta controle.

É possível especificar até três parâmetros de validação. Se você especificar um número máximo de casos de validação e uma porcentagem de validação, uma porcentagem de casos são reservados até o limite máximo de casos ser atingido. Você especifica a porcentagem de validação como um número inteiro seguido pela palavra-chave PERCENT e especifica o número máximo de casos como um número inteiro seguido pela palavra-chave CASES. É possível combinar as condições em qualquer ordem, como mostra os exemplos a seguir:

WITH HOLDOUT (20 PERCENT) 
WITH HOLDOUT (2000 CASES) 
WITH HOLDOUT (20 PERCENT OR 2000 CASES) 
WITH HOLDOUT (2000 CASES OR 20 PERCENT)

A semente de validação controla o ponto de início do processo que atribui casos aleatoriamente aos conjuntos de dados de treinamento ou de teste. Ao definir uma semente de validação, é possível assegurar que a partição pode ser repetida. Se você não especificar uma semente de validação, o Analysis Services usará o nome da estrutura de mineração para criar uma semente. Se você renomear a estrutura, o valor de semente mudará. O parâmetro da semente de validação pode ser usado com ambos os outros parâmetros de avaliação.

ObservaçãoObservação

Como as informações de partição estão armazenadas em cache com os dados de treinamento, para usar a validação, é necessário garantir que a propriedade CacheMode da estrutura de mineração esteja definida como KeepTrainingData. Esta é a configuração padrão no Analysis Services para novas estruturas de mineração. Alterar a propriedade CacheMode para ClearTrainingCases em uma estrutura de mineração existente que contém uma partição de validação não afetará nenhum modelo de mineração processado. No entanto, se MiningStructureCacheMode não estiver definido como KeepTrainingData, os parâmetros de validação não terão efeito. Isto significa que todos os dados de origem serão usados para treinamento e nenhum conjunto de testes estará disponível. A definição da partição é armazenada em cache com a estrutura; se você limpar o cache dos casos de treinamento, também limpará o cache dos dados de teste e a definição do conjunto de validação.

Exemplos

Os exemplos seguintes demonstram como criar uma estrutura de mineração com validação usando DMX.

Exemplo 1: Adicionando uma estrutura sem conjunto de treinamentos

O seguinte exemplo cria uma estrutura de mineração chamada New Mailing sem criar nenhum modelo de mineração associado e sem usar a validação. Para saber como adicionar um modelo de mineração à estrutura, consulte ALTER MINING STRUCTURE (DMX).

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
)

Exemplo 2: Especificando a porcentagem e semente de validação

A cláusula a seguir pode ser adicionada após a lista de definições de coluna para definir um conjunto de dados que pode ser usado para testar todos os modelos de mineração associados à estrutura de mineração. A instrução criará um conjunto de teste com 25% do total de casos de entrada, sem um limite no número máximo de casos. 5000 é usado como a semente para criação da partição. Quando você especifica uma semente, os mesmos casos são escolhidos para o conjunto de teste cada vez que a estrutura de mineração é processada, desde que os dados subjacentes não sejam alterados.

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
) 
WITH HOLDOUT(25 PERCENT) REPEATABLE(5000)

Exemplo 3: Especificando a porcentagem e máximo de casos de validação

A seguinte cláusula criará um conjunto de testes que contém 25 por cento dos casos de entrada totais ou 2000 casos, qualquer que seja o menor. Como 0 é especificado como a semente, o nome da estrutura de mineração é usada para criar a semente que é usada para começar o exemplo de casos de entrada.

CREATE MINING STRUCTURE [New Mailing]
(
    CustomerKey LONG KEY, 
    Gender TEXT DISCRETE,
    [Number Cars Owned] LONG DISCRETE,
    [Bike Buyer] LONG DISCRETE 
) 
WITH HOLDOUT(25 PERCENT OR 2000 CASES) REPEATABLE(0)

Consulte também

Referência

Instruções de definição de dados DMX (Data Mining Extensions)

Instruções de manipulação de dados DMX (Data Mining Extensions)

Referência de instrução DMX (Data Mining Extensions)