Preparar um conjunto de dados, principalmente sobre problemas do mundo real, para ser aplicado a um algoritmo de Aprendizagem de Máquina muitas vezes pode ser desafiador. Frequentemente, o modelo recomenda ou exige que variáveis categóricas sejam transformadas em numérica. Nesse post, você entenderá o porquê usar OHE e como fazer isso dentro do Alteryx.
O que é uma “variável categórica”
Variáveis categóricas são dados que contém valores escritos em texto ao invés de valores numéricos. Veja dois exemplos:
Nesse caso, cada valor representa uma categoria diferente sem uma relação hierárquica naturalmente criada. Veja um exemplo de uma variável categórica com ordenamento hierárquico natural:
Quando usar OHE
One Hot Econding é usado para tratar dados categóricos sem ordenamento hierárquico natural. Veja um exemplo:
Antes da transformação:
Depois da transformação:
Como implementar OHE no Alteryx
No Alteryx, o componente responsável por essa transformação é a Tabela de Referência Cruzada:
Nela é possível configurar por qual coluna o agrupamento será feito, de qual coluna as categorias vão ser resgatadas para a transformação e qual a coluna de referência (é necessário que seja um valor inteiro), e para aplicar o OHE é preciso selecionar o método de Contagem.
Além de elaborar fluxos para executar esse tratamento em uma coluna especifica, podemos elaborar um fluxo que possa se adequar às necessidades do usuário, dinamizando a escolha da(s) coluna(s) em que o OHE será aplicado.
Exemplo:
1° Passo: Criar uma Macro em lote para executar as repetições
Resultado:
1.1
Todo o bloco principal chamado “OHE” vai fazer o processo de transformação e aplicação do One Hot Encoding sem perder os valores das colunas anteriores a ele.
Foi selecionado na Tabela de referência cruzada, uma coluna para Agrupamento, uma coluna para Cabeçalho (nesse caso qualquer coluna do tipo INT), uma coluna tipo INT para os valores, e o método de Contagem.
Também foram adicionados a seguir, dois componentes de Renomeação Dinâmica. Um responsável por remover o pré-fixo “Count_” do nome da coluna e outro responsável por atualizar o seu nome e incluir qual era o cabeçalho usado na tabela de referência. Ao final um Junção conectando o resultado da transformação às colunas originais dos dados através da forma de
Agrupamento utilizado.
Agora vem a mágica da Macro em Lote, todos esses componentes vão ser responsáveis por dinamizar os valores que vão passar pela transformação ao longo das repetições.
1.2
Esses componentes fazem parte do conjunto Ferramentas de Interface, ao adicionar o componente “Parâmetro de Controle” automaticamente seu fluxo de trabalho é transformado em uma macro em lote:
Os componentes de Ação devem “Atualizar valor” nos respectivos atributos, como consta nas anotações ao seu lado:
A “Method” atualizando por fórmula o método da transformação com a palavra “Count” já que é o método utilizado no OHE. “Field” atualizando por fórmula com o nome de uma coluna para o Agrupamento, assim como “DataField” atualizando o valor com o nome de uma coluna do tipo INT.
O Parâmetro de controle deve ser conectado a esses dois componentes:
Por último a Ação de “Renomear” deve ser configurada para atualizar apenas parte do título da coluna e será conectada ao segundo Renomeação dinâmica que inserimos no fluxo:
Configuração da Ação “Renomear”:
Para configuramos a saída da macro, iremos acessar a Janela de Interface Designer (Ctrl + Alt + D), configurando a junção da saída através do nome das colunas, desta forma:
2° Passo: Criar uma Macro para receber as escolhas
Resultado:
2.1
Esse componente de ação será responsável fazer com que uma célula da “Entrada de Texto” receba as “Colunas Selecionadas” na Entrada da Macro através de uma Caixa de Seleção. Nele deve ser selecionado o Value do Data, dentre as opções para atualizar o valor.
2.2
Os dados virão dessa maneira, então é preciso separá-los, limpá-los e extrair apenas os que tiverem o valor “True” associado, quebrando o resultado em linha e eliminando os demais, que é a função do próximo bloco:
2.3
Após a limpeza os dados serão conectados a uma nova macro, na entrada de parâmetro da Macro em Lote que produzimos anteriormente (representada pelo ponto de interrogação de ponta cabeça), além dessa conexão, a entrada da Macro em Lote representada pelo I receberá os dados direto da entrada da Macro.
3. Elaboração do Fluxo principal
Após a criação das duas macros, em um terceiro fluxo (este o principal onde ocorrerá a interação do usuário com o resultado final). Devemos inserir a Macro que fará a seleção das colunas e a ligação com a Macro em Lote, nela deverá aparecer as opções de coluna para serem selecionadas.
O fluxo enviará para Macro as colunas selecionadas onde será tratada e entrará na Macro em Lote uma a uma, a Macro em Lote irá receber esses valores e executará o OHE mas somará os resultados (colunas novas) em uma única saída, gerando a Saída para Macro, é recomendado inserir componentes de Navegar ao longo da construção do fluxo para análise dos resultados.
Equipe Horus ITs
Você deve ser um usuário registrado para adicionar um comentário aqui. Se você já estiver registrado, faça logon. Se você ainda não estiver registrado, registre-se e faça logon.