Análise Discriminante Linear da Fisher

Identifica a combinação linear das variáveis de recurso que melhor agrupam dados em classes separadas

Categoria: módulos de seleção de recursos

Observação

Aplica-se a: Machine Learning Studio (clássico)

Esse conteúdo pertence apenas ao estúdio (clássico). Módulos de arrastar e soltar semelhantes foram adicionados ao designer de Azure Machine Learning. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo de análise de discriminante linear Fisher no Azure Machine Learning Studio (clássico), para criar um novo conjunto de informações de recurso que captura a combinação de recursos que melhor separa duas ou mais classes.

Esse método é geralmente usado para redução de dimensionalidade, pois ele projeta um conjunto de recursos em um espaço menor de recursos enquanto preserva as informações que discriminam entre classes. Isso não só reduz os custos de computação de uma determinada tarefa de classificação, mas pode ajudar a evitar o superajuste.

Para gerar as pontuações, você fornece uma coluna de rótulo e um conjunto de colunas de recursos numéricos como entradas. O algoritmo determina a combinação ideal de colunas de entrada que separa linearmente cada grupo de dados enquanto minimiza as distâncias em cada grupo. O módulo retorna um DataSet que contém os recursos compactados e transformados, juntamente com uma transformação que você pode salvar e aplicar a outro conjunto de um.

Mais sobre a análise de discriminante linear

A análise de discriminante linear é semelhante à análise de variação (ANOVA), pois ela funciona comparando os meios das variáveis. Como o ANOVA, ele conta com essas suposições:

  • As previsões são independentes
  • As funções de densidade de probabilidade condicional de cada amostra são normalmente distribuídas
  • As variações entre os grupos são semelhantes

Às vezes, a análise de discriminante linear é abreviada como LDA, mas isso é facilmente confundido com a alocação de Dirichlet latente. As técnicas são completamente diferentes, portanto, nesta documentação, usamos os nomes completos sempre que possível.

Como configurar a análise de discriminante linear

  1. Adicione o seu conjunto de dados de entrada e verifique se o dado de entrada atende a estes requisitos:

    • Seus dados devem ser tão completos quanto possível. Linhas com quaisquer valores ausentes são ignoradas.
    • Espera-se que os valores tenham uma distribuição normal. Antes de usar a análise de discriminante linear de Fisher, examine os dados em busca de exceções ou teste a distribuição.
    • Você deve ter menos previsões do que há exemplos.
    • Remova as colunas não numéricas. O algoritmo examina todas as colunas numéricas válidas incluídas nas entradas e retorna um erro se colunas inválidas forem incluídas. Se você precisar excluir colunas numéricas, adicione um módulo selecionar colunas no conjunto de conteúdo antes de executar a análise de discriminante linear, para criar uma exibição que contenha apenas as colunas que você deseja analisar. Você pode reingressar as colunas mais tarde usando adicionar colunas. A ordem original das linhas é preservada.
  2. Conecte os dados de entrada ao módulo de análise de discriminante linear Fisher .

  3. Para a coluna rótulos de classe, clique em Iniciar seletor de coluna e escolha uma coluna de rótulo.

  4. Para o número de extratores de recursos, digite o número de colunas que você deseja como resultado.

    Por exemplo, se seu conjunto de recursos contiver oito colunas de recurso numéricos, você poderá digitar 3 para recolhê-las em um espaço de recurso novo e reduzido de apenas três colunas.

    É importante entender que as colunas de saída não correspondem exatamente às colunas de entrada, mas, em vez disso, representam uma transformação compacta dos valores nas colunas de entrada.

    Se você usar 0 como o valor para o número de extratores de recursos e n colunas forem usadas como entrada, os extratores de recurso n serão retornados, contendo novos valores que representam o espaço de recurso n-dimensional.

  5. Execute o experimento.

Resultados

O algoritmo determina a combinação de valores nas colunas de entrada que separa linearmente cada grupo de dados, minimizando as distâncias dentro de cada grupo e cria duas saídas:

  • Recursos transformados. Um DataSet que contém o número especificado de colunas do extrator de recursos, chamado Col1, Col2, Col3 e assim por diante. A saída também inclui a variável de classe ou rótulo.

    Você pode usar esse conjunto compacto de valores para treinar um modelo.

  • Transformação de análise de discriminante linear Fisher. Uma transformação que você pode salvar e, em seguida, aplicar a um conjunto de um DataSet que tem o mesmo esquema. Isso será útil se você estiver analisando muitos conjuntos de de DataSets do mesmo tipo e quiser aplicar a mesma redução de recurso a cada um. O conjunto de os que você aplica deve ter o mesmo esquema.

Exemplos

Para obter exemplos de seleção de recursos no aprendizado de máquina, consulte o Galeria de ia do Azure:

Observações técnicas

Esta seção contém detalhes de implementação, dicas e respostas para perguntas frequentes.

Dicas de uso

  • Esse método funciona somente em variáveis contínuas, não em variáveis categóricas ou ordinais.

  • Linhas com valores ausentes são ignoradas ao calcular a matriz de transformação.

  • Se você salvar uma transformação de um experimento, as transformações computadas do experimento original serão reaplicadas a cada novo conjunto de dados e não serão recomputadas. Portanto, se você quiser computar um novo conjunto de recursos para cada conjunto de dados, use uma nova instância de análise de discriminante linear Fisher para cada DataSet.

Detalhes de implementação

O conjunto de recursos é transformado usando eigenvectors. O eigenvectors para o conjunto de dados de entrada é calculado com base nas colunas de recursos fornecidas, também chamada de matriz de discriminação.

A saída da transformação do módulo contém esses eigenvectors, que podem ser aplicados para transformar outro conjunto de um que tenha o mesmo esquema.

Para obter mais informações sobre como os eigenvalues são calculados, consulte este documento (PDF): extração de recursos baseados em eigenvector para classificação. Tymbal, Puuronen e outros.

Entradas esperadas

Nome Tipo Descrição
Conjunto de dados Tabela de Dados Conjunto de dados de entrada

Parâmetros do módulo

Nome Tipo Intervalo Opcional Padrão Descrição
Coluna de rótulos de classe ColumnSelection Necessária Nenhum Selecione a coluna que contém os rótulos de classe categórica
Número de extratores de recurso Integer >= 0 Necessária 0 Número de extratores de recurso para usar. Se for zero, todos os extratores de recurso serão usados

Saídas

Nome Tipo Descrição
Recursos transformados Tabela de Dados Recursos de análise de discriminante linear Fisher transformados em espaço eigenvector
Transformação de análise do discriminador linear Fisher Interface ITransform Transformação de análise de discriminador linear Fisher

Exceções

Exceção Descrição
Erro 0001 Ocorrerá uma exceção se uma ou mais das colunas especificadas do conjunto de dados não puder ser encontrada.
Erro 0003 Ocorrerá uma exceção se uma ou mais das entradas for nula ou estiver vazia.
Erro 0017 Ocorrerá uma exceção se uma ou mais das colunas especificadas tiver um tipo sem suporte por módulo atual.

Para obter uma lista de erros específicos para módulos do Studio (clássicos), consulte Machine Learning códigos de erro.

Para obter uma lista de exceções de API, consulte Machine Learning códigos de erro da API REST.

Consulte também

Seleção de recursos
Seleção de recursos baseada em filtro
Análise de componente principal