Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Separar dados em conjuntos de treinamento e teste é uma parte importante da avaliação de modelos de mineração de dados. Normalmente, quando você separa um conjunto de dados em um conjunto de treinamento e um conjunto de testes, a maioria dos dados é usada para treinamento e uma parte menor dos dados é usada para teste. O Analysis Services amostra aleatoriamente os dados para ajudar a garantir que os conjuntos de teste e treinamento sejam semelhantes. Usando dados semelhantes para treinamento e teste, você pode minimizar os efeitos das discrepâncias de dados e entender melhor as características do modelo.
Depois que um modelo tiver sido processado usando o conjunto de treinamento, você testará o modelo fazendo previsões em relação ao conjunto de testes. Como os dados no conjunto de testes já contêm valores conhecidos para o atributo que você deseja prever, é fácil determinar se os palpites do modelo estão corretos.
Criando conjuntos de teste e treinamento para estruturas de mineração de dados
No SQL Server 2014, você separa o conjunto de dados original no nível da estrutura de mineração. As informações sobre o tamanho dos conjuntos de dados de treinamento e teste, e qual linha pertence ao conjunto, são armazenadas com a estrutura e todos os modelos baseados nessa estrutura podem usar os conjuntos para treinamento e teste.
Você pode definir um conjunto de dados de teste em uma estrutura de mineração das seguintes maneiras:
Usando o Assistente de Mineração de Dados para dividir a estrutura de mineração ao criá-la.
Modificando propriedades de estrutura na guia Estrutura de Mineração do Designer de Mineração de Dados.
Criando e modificando estruturas programaticamente usando AMO (Objetos de Gerenciamento de Análise) ou DDL (Linguagem de Definição de Dados XML).
Usando o Assistente de Mineração de Dados para dividir uma estrutura de mineração
Por padrão, depois de definir as fontes de dados para uma estrutura de mineração, o Assistente de Mineração de Dados dividirá os dados em dois conjuntos: um com 70% dos dados de origem, para treinar o modelo e outro com 30% dos dados de origem, para testar o modelo. Esse padrão foi escolhido porque uma taxa de 70 a 30 geralmente é usada na mineração de dados, mas com o Analysis Services você pode alterar essa taxa para atender às suas necessidades.
Você também pode configurar o assistente para definir um número máximo de casos de treinamento ou combinar os limites para permitir um percentual máximo de casos até um número máximo especificado de casos. Quando você especifica um percentual máximo de casos e um número máximo de casos, o Analysis Services usa o menor dos dois limites como o tamanho do conjunto de testes. Por exemplo, se você especificar 30% de espera para os casos de teste e o número máximo de casos de teste como 1000, o tamanho do conjunto de testes nunca excederá 1000 casos. Isso pode ser útil se você quiser garantir que o tamanho do conjunto de testes permaneça consistente mesmo se mais dados de treinamento forem adicionados ao modelo.
Se você usar a mesma exibição de fonte de dados para diferentes estruturas de mineração e quiser garantir que os dados sejam divididos aproximadamente da mesma maneira para todas as estruturas de mineração e seus modelos, especifique a semente usada para inicializar a amostragem aleatória. Quando você especificar um valor para HoldoutSeed, o Analysis Services usará esse valor para iniciar a amostragem. Caso contrário, a amostragem utiliza um algoritmo de hash sobre o nome da estrutura de mineração para gerar o valor da semente.
Observação
Se você criar uma cópia da estrutura de mineração usando as instruções EXPORT e IMPORT, a nova estrutura de mineração terá os mesmos conjuntos de dados de treinamento e teste, pois o processo de exportação gera uma nova ID, mas utiliza o mesmo nome. No entanto, se duas estruturas de mineração usarem a mesma fonte de dados subjacente, mas tiverem nomes diferentes, os conjuntos criados para cada estrutura de mineração serão diferentes.
Modificando propriedades de estrutura para criar um conjunto de dados de teste
Se você criar e processar uma estrutura de mineração e depois decidir que deseja reservar um conjunto de dados de teste, poderá modificar as propriedades da estrutura de mineração. Para alterar a forma como os dados são particionados, edite as seguintes propriedades:
| Propriedade | Descrição |
|---|---|
HoldoutMaxCases |
Especifica o número máximo de casos a serem incluídos no conjunto de testes. |
HoldoutMaxPercent |
Especifica o número de casos a serem incluídos no conjunto de testes como uma porcentagem do conjunto de dados completo. Para não ter nenhum conjunto de dados, você especificaria 0. |
HoldoutSeed |
Especifica um valor inteiro a ser usado como semente ao selecionar dados aleatoriamente para as partições. Esse valor não afeta o número de casos no conjunto de treinamento; Em vez disso, garante que a partição possa ser repetida. |
Se você adicionar ou alterar um conjunto de dados de teste a uma estrutura existente, deverá reprocessar a estrutura e todos os modelos associados. Além disso, como a divisão dos dados de origem faz com que o modelo seja treinado em um subconjunto diferente dos dados, você poderá ver resultados diferentes do seu modelo.
Especificando o holdout de forma programática
Você pode definir conjuntos de dados de teste e treinamento em uma estrutura de mineração usando instruções DMX, AMO ou DDL XML. A instrução ALTER MINING STRUCTURE não oferece suporte ao uso de parâmetros de holdout.
DMX Na linguagem de Extensões de Mineração de Dados (DMX), a instrução CREATE MINING STRUCTURE foi estendida para incluir uma cláusula WITH HOLDOUT.
ASSL Você pode criar uma nova estrutura de mineração ou adicionar um conjunto de dados de teste a uma estrutura de mineração existente usando o ASSL (Analysis Services Scripting Language).
AMO Você também pode exibir e modificar conjuntos de dados de validação usando AMO.
Você pode exibir informações sobre o conjunto de dados de controle em uma estrutura de mineração existente consultando o conjunto de linhas do esquema de mineração de dados. Você pode fazer isso fazendo uma chamada DISCOVER ROWSET ou pode usar uma consulta DMX.
Recuperando informações sobre dados de retenção
Por padrão, todas as informações sobre os conjuntos de dados de treinamento e teste são armazenadas em cache, para que você possa usar dados existentes para treinar e testar novos modelos. Você também pode definir filtros a serem aplicados aos dados de holdout armazenados em cache para que você possa avaliar o modelo em subconjuntos dos dados.
A forma como os casos são divididos em conjuntos de dados de treinamento e teste depende da maneira como você configura o holdout e dos dados que você fornece. Se você quiser determinar o número de casos usados para treinamento ou teste ou se quiser encontrar detalhes adicionais sobre os casos incluídos nos conjuntos de treinamento e teste, poderá consultar a estrutura do modelo criando uma consulta DMX. Por exemplo, a consulta a seguir retorna os casos que foram usados no conjunto de treinamento do modelo.
SELECT * from <structure>.CASES WHERE IsTrainingCase()
Para recuperar apenas os casos de teste e, além disso, filtrar os casos de teste em uma das colunas da estrutura de mineração, use a seguinte sintaxe:
SELECT * from <structure>.CASES WHERE IsTestCase() AND <structure column name> = '<value>'
Limitações no uso de dados de espera
Para usar o holdout, a MiningStructureCacheMode propriedade da estrutura de mineração deve ser definida como o valor padrão,
KeepTrainingCases. Se você alterar a propriedadeCacheModeparaClearAfterProcessinge em seguida reprocessar a estrutura de mineração, a partição será perdida.Você não pode remover dados de um modelo de série temporal; Portanto, você não pode separar os dados de origem em conjuntos de treinamento e teste. Se você começar a criar uma estrutura de mineração e um modelo e escolher o algoritmo Microsoft Time Series, a opção de criar um conjunto de dados de controle será desativada. O uso de dados de teste também será desabilitado se a estrutura de mineração contiver uma coluna KEY TIME no nível de caso ou da tabela aninhada.
É possível configurar inadvertidamente o conjunto de dados de espera de modo que o conjunto de dados completo seja usado para teste e nenhum dado permaneça para treinamento. No entanto, se você fizer isso, o Analysis Services gerará um erro para que você possa corrigir o problema. O Analysis Services também avisa quando a estrutura é processada se mais de 50% dos dados tiverem sido mantidos para teste.
Na maioria dos casos, o valor de espera padrão de 30 fornece um bom equilíbrio entre dados de treinamento e teste. Não há uma maneira simples de determinar o tamanho do conjunto de dados para fornecer treinamento suficiente ou o quão esparso o conjunto de treinamento pode ser e ainda evitar a sobreajuste. No entanto, depois de criar um modelo, você pode usar a validação cruzada para avaliar o conjunto de dados em relação a um modelo específico.
Além das propriedades listadas na tabela anterior, uma propriedade somente leitura,
HoldoutActualSize, é fornecida em AMO e DDL XML. No entanto, como o tamanho real de uma partição não pode ser determinado com precisão até que a estrutura tenha sido processada, verifique se o modelo foi processado antes de recuperar o valor daHoldoutActualSizepropriedade.
Conteúdo relacionado
| Tópicos | Links |
|---|---|
| Descreve como os filtros em um modelo interagem com conjuntos de dados de treinamento e teste. | Filtros para modelos de mineração (Analysis Services – Mineração de dados) |
| Descreve como o uso de dados de treinamento e teste afeta a validação cruzada. | Validação cruzada (Analysis Services – Mineração de dados) |
| Fornece informações sobre as interfaces programáticas para trabalhar com conjuntos de treinamento e teste em uma estrutura de mineração. |
Conceitos AMO e Modelo de Objeto Elemento EstruturaMineradora (ASSL) |
| Fornece a sintaxe DMX para criar conjuntos de controle. | CRIAR ESTRUTURA DE MINERAÇÃO (DMX) |
| Recupere dados sobre casos nos conjuntos de treinamento e teste. |
Conjuntos de linhas de esquema de mineração de dados Consultando os conjuntos de linhas de esquema de mineração de dados (Analysis Services – Mineração de dados) |
Consulte Também
Ferramentas de Mineração de Dados
Conceitos de mineração de dados
Soluções de mineração de dados
Teste e validação (mineração de dados)