Criando filtros para modelos de mineração (Analysis Services - Mineração de dados)

A filtragem de modelos com base em dados ajuda na criação de modelos de mineração que usam subconjuntos de dados em uma estrutura de mineração. A filtragem proporciona flexibilidade quando você projeta suas estruturas de mineração e fontes de dados porque você pode criar uma única estrutura de mineração, com base em uma exibição da fonte de dados abrangente. Em seguida, é possível criar filtros que serão usados somente como parte dos dados para treinar e testar uma variedade de modelos, em vez de criar uma estrutura diferente e um modelo relacionado para cada subconjunto de dados.

Por exemplo, você define a exibição da fonte de dados na tabela Clientes e nas tabelas relacionadas. Em seguida, define uma única estrutura de mineração que inclui todos os campos necessários. Finalmente, você cria um modelo filtrado em um atributo de cliente particular, como Região. Você pode fazer facilmente uma cópia desse modelo e alterar apenas a condição de filtro para gerar um novo modelo com base em uma região diferente.

Algumas situações reais das quais você pode tirar proveito desse recurso incluem:

  • Criar modelos separados para obter valores discretos como gênero, regiões e assim sucessivamente. Por exemplo, uma loja de roupas pode usar dados demográficos do cliente para criar modelos separados por sexo, mesmo que os dados de vendas sejam provenientes de uma única fonte de dados para todos os clientes.

  • Experimentar modelos criando e testando vários agrupamentos dos mesmos dados, como idades de 20 a 30 comparadas com 20 a 40 e 20 a 25.

  • Especificar filtros complexos em conteúdo de tabela aninhada, como exigir que um caso seja incluído no modelo somente se o cliente tiver comprado pelo menos dois de um determinado item.

Esta seção explica como criar, usar e administrar filtros em modelos de mineração.

Criando filtros de modelos

Você pode criar e aplicar filtros das seguintes formas:

  • Usando a guia Modelos de Mineração no Designer de Mineração de Dados para criar condições com a ajuda das caixas de diálogo do editor de filtros.

  • Digitando uma expressão de filtro diretamente na propriedade Filter do modelo de mineração.

  • Definindo condições de filtro em um modelo de forma programática usando AMO.

Criando filtros de modelo usando o Designer de Mineração de Dados

Você filtra um modelo no Designer de Mineração de Dados alterando a propriedade Filter do modelo de mineração. É possível digitar uma expressão de filtro diretamente no painel Propriedades ou abrir uma caixa de diálogo de filtros para criar condições.

Há duas caixas de diálogo de filtro. A primeira permite criar condições aplicadas à tabela de casos. Se a fonte de dados contiver várias tabelas, primeiro você escolherá uma tabela e, em seguida, selecionará uma coluna e especificará os operadores e as condições que se aplicam àquela coluna. Você pode unir várias condições usando os operadores AND/OR. Os operadores disponíveis para definir os valores dependem se a coluna contém valores discretos ou contínuos. Por exemplo, com valores contínuos, você pode usar os operadores greater than e less than. Porém, para valores discretos, você pode usar apenas os operadores = (equal to), != (not equal to)e is null.

ObservaçãoObservação

Não há suporte para a palavra-chave LIKE. Para incluir vários atributos discretos, é preciso criar várias condições separadas e vinculá-las usando o operador OR.

Se as condições forem complexas, você pode usar a segunda caixa de diálogo de filtros para trabalhar com uma tabela por vez. Quando você fechar a segunda caixa de diálogo do filtro, a expressão será avaliada e combinada com as condições de filtro definidas em outras colunas na tabela de casos.

Criando filtros em tabelas aninhadas

Se a exibição da fonte de dados contiver tabelas aninhadas, você poderá usar a segunda caixa de diálogo de filtro para criar condições nas linhas das tabelas aninhadas.

Por exemplo, se a tabela de casos for relacionada a clientes, e a tabela aninhada mostrar os produtos que um cliente comprou, será possível criar um filtro para os clientes que compraram determinados itens usando a seguinte sintaxe no filtro de tabela aninhada: [ProductName]=’Water Bottle’ OR ProductName=’Water Bottle Cage'.

Você também pode filtrar a existência de um determinado valor na tabela aninhada, usando as palavras-chave EXISTS ou NOT EXISTS e uma subconsulta. Isso permite que você crie condições como EXISTS (SELECT * FROM Products WHERE ProductName=’Water Bottle’). EXISTS SELECT(<subquery>) retornará true se a tabela aninhada contiver pelo menos uma linha que inclua o valor Water Bottle.

Você pode combinar condições na tabela de casos com as condições da tabela aninhada. Por exemplo, a sintaxe a seguir inclui uma condição na tabela de casos (Age > 30 ), uma subconsulta na tabela aninhada (EXISTS (SELECT * FROM Products)) e várias condições na tabela aninhada (WHERE ProductName=’Milk’ AND Quantity>2) ).

(Age > 30 AND EXISTS (SELECT * FROM Products WHERE ProductName=’Milk’  AND Quantity>2) )

Quando você terminar de criar o filtro, o texto do filtro será avaliado pelo Analysis Services, convertido para uma expressão DMX e, em seguida, salvo com o modelo.

Para obter instruções sobre como usar as caixas de diálogo do filtro no Business Intelligence Development Studio, consulte Como aplicar um filtro a um modelo de mineração.

Gerenciando os filtros do modelo de mineração

A filtragem do modelo com base em dados simplifica a tarefa de gerenciar estruturas de mineração e modelos de mineração porque você pode criar facilmente vários modelos com base na mesma estrutura. Você também pode fazer cópias de modelos de mineração existentes rapidamente e, em seguida, alterar apenas a condição do filtro. A seguir, algumas considerações para gerenciar filtros de modelo:

  • Para determinar o filtro aplicado a um modelo, exiba a propriedade Filter do modelo de mineração.

  • Você pode renomear o modelo para refletir o conteúdo do filtro. Isso pode tomar mais fácil diferenciar os modelos relacionados.

  • A expressão de filtro é salva como um script armazenado com o modelo de mineração associado ou tabela aninhada. Se você excluir o texto de filtro, ele só poderá ser restaurado manualmente, recriando a expressão de filtro. Portanto, se você criar expressões de filtro complexas, deve criar uma cópia de backup do texto de filtro.

  • Sempre que você alterar ou adicionar uma expressão de filtro, deverá reprocessar a estrutura e o modelo antes de poder criar os efeitos do filtro.

Para obter mais informações sobre sintaxe de filtro e exemplos de expressões de filtro, consulte Sintaxe de filtro de modelo e exemplos (Analysis Services - Mineração de dados).

Para obter informações sobre como usar filtros de modelo ao testar um modelo de mineração, consulte Medindo a precisão do modelo de mineração (Analysis Services - Mineração de dados)