Componente Agrupar Dados em Compartimentos

Este artigo descreve como usar o componente Agrupar Dados em Compartimentos no designer do Azure Machine Learning para agrupar números ou alterar a distribuição de dados contínuos.

O módulo Agrupar Dados em Compartimentos dá suporte a várias opções para dados compartimentalização. Você pode personalizar como as bordas de compartimento são definidas e como os valores são particionados nos compartimentos. Por exemplo, você pode:

  • Digite manualmente uma série de valores para servir como limites de compartimento.
  • Atribua valores aos compartimentos usando quantis ou classificações de percentil.
  • Force uma distribuição uniforme de valores nos compartimentos.

Mais sobre compartimentalização e agrupamento

A compartimentalização ou agrupamento de dados é uma ferramenta importante para preparar dados numéricos para machine learning. Ela é útil em cenários como estes:

  • Uma coluna de números contínuos tem muitos valores exclusivos para ser modelada com eficácia. Portanto, você atribui automática ou manualmente os valores aos grupos para criar um conjunto menor de intervalos discretos.

  • Você deseja substituir uma coluna de números por valores categóricos que representam intervalos específicos.

    Por exemplo, você pode querer agrupar valores em uma coluna de idade especificando intervalos personalizados como 1 a 15, 16 a 22, 23 a 30 e assim por diante para os dados demográficos do usuário.

  • Um conjunto de dados tem alguns valores extremos, tudo bem fora do intervalo esperado, e esses valores têm uma influência muito grande no modelo treinado. Para atenuar o desvio no modelo, você pode transformar os dados em uma distribuição uniforme usando o método de quantis.

    Com esse método, o componente Agrupar Dados em Compartimentos determina os locais dos compartimentos e as larguras de compartimento ideais para garantir que aproximadamente o mesmo número de amostras se enquadrem em cada compartimento. Em seguida, dependendo do método de normalização escolhido, os valores nos compartimentos são transformados em percentis ou mapeados para um número de compartimento.

Exemplos de compartimentalização

O diagrama a seguir mostra a distribuição de valores numéricos antes e depois da compartimentalização com o método quantis. Observe que, em comparação com os dados brutos à esquerda, os dados foram compartimentalizados e transformados em uma escala normal de unidade.

Visualização do resultado

Como há muitas maneiras de agrupar dados, tudo personalizável, recomendamos que você teste com diferentes métodos e valores.

Como configurar Agrupar dados em compartimentos

  1. Adicione o compartimento Agrupar Dados em Compartimentos ao pipeline no designer. Você pode encontrar esse componente na categoria Transformação de Dados.

  2. Conecte o conjunto de dados que tem os valores numéricos ao compartimento. A compartimentalização pode ser aplicada somente às colunas que contêm dados numéricos.

    Se o conjunto de dados contiver colunas não numéricas, use o componente Selecionar Colunas no Conjunto de Dados para selecionar um subconjunto de colunas com o qual trabalhar.

  3. Especifique o modo de compartimentalização. O modo de compartimentalização determina outros parâmetros. Portanto, selecione a opção Modo de compartimentalização primeiro. Há suporte para os seguintes tipos de compartimentalização:

    • Quantis: O método quantile atribui valores aos compartimentos com base nas classificações percentuais. Esse método também é conhecido como compartimentalização de mesma altura.

    • Mesma Largura: com essa opção, você precisa especificar o número total de compartimentos. Os valores da coluna de dados são colocados em compartimentos, de modo que cada um tenha o mesmo intervalo entre os valores inicial e final. Como resultado, alguns compartimentos podem ter mais valores se os dados estiverem concentrados em torno de um determinado ponto.

    • Bordas personalizadas: Você pode especificar os valores que iniciam cada compartimento. O valor de borda sempre é o limite inferior do compartimento.

      Por exemplo, suponha que você deseje agrupar valores em dois compartimentos. Um terá valores superiores a 0 e o outro terá valores inferiores ou iguais a 0. Nesse caso, para bordas de compartimento, você vai inserir 0 em uma Lista separada por vírgula de bordas de compartimento. A saída do componente será 1 e 2, indicando o índice de compartimento para cada valor de linha. Observe que a lista de valores separados por vírgula precisa estar em ordem crescente, como 1, 3, 5 e 7.

    Observação

    O modo de MDL de entropia é definido no Studio (clássico), e ainda não há nenhum pacote de software livre correspondente que possa ser aproveitado para o suporte no Designer.

  4. Se você estiver usando os modos de compartimentalização Quantis e Mesma Largura, use a opção Número de compartilhamentos para especificar quantos compartimentos ou quantis você deseja criar.

  5. Para Colunas a serem compartimentalizadas, use o seletor de coluna para escolher as colunas que têm os valores que deseja compartimentalizar. As colunas devem ser um tipo de dados numérico.

    A mesma regra compartimentalização é aplicada a todas as colunas aplicáveis que você escolher. Caso precise compartimentalizar colunas usando outro método, use uma instância separada do componente Agrupar Dados em Compartimentos para cada conjunto de colunas.

    Aviso

    Se você escolher uma coluna que não seja um tipo permitido, um erro de runtime será gerado. O componente retorna um erro assim que encontra qualquer coluna de um tipo não permitido. Se você receber um erro, examine todas as colunas selecionadas. O erro não lista todas as colunas inválidas.

  6. Em Modo de saída, indique como deseja gerar os valores compartimentalizados:

    • Append: cria uma coluna com os valores compartimentalizados e acrescenta-os à tabela de entrada.

    • Inplace: Substitui os valores originais com os novos valores no conjunto de dados.

    • ResultOnly: Retorna apenas as colunas de resultados.

  7. Se você selecionar o modo de compartimentalização Quantis, use a opção Normalização de quantis para determinar como os valores são normalizados antes da classificação em quantis. Observe que a normalização de valores transforma os valores, mas não afeta o número final de compartimentos.

    Os seguintes tipos de normalização são compatíveis:

    • Percent: os valores são normalizados dentro do intervalo [0,100].

    • PQuantile: os valores são normalizados dentro do intervalo [0,1].

    • QuantileIndex: os valores são normalizados dentro do intervalo [1, número de compartimentos].

  8. Se você escolher a opção Limites Personalizados, insira uma lista separada por vírgulas de números a serem usados como limites de compartimentalização na caixa de texto Lista de limites de compartimentalização separados por vírgula.

    Os valores marcam o ponto que divide os compartimentos. Por exemplo, se você inserir um valor de limite de compartimentalização, dois compartimentos serão gerados. Se você inserir dois valores de limite de compartimentalização, três compartimentos serão gerados.

    Os valores precisam ser classificados em ordem para que os compartimentos sejam criados, do menor para o maior.

  9. Selecione a opção Marcar colunas como categóricas para indicar que as colunas compartimentalizadas devem ser tratadas como variáveis categóricas.

  10. Enviar o pipeline.

Resultados

O componente Agrupar Dados em Compartimentos retorna um conjunto de dados em que cada elemento foi guardado de acordo com o modo especificado.

Ele também retorna uma transformação de compartimentalização. Essa função pode ser transmitida para o componente Aplicar Transformação para compartimentalizar novos exemplos de dados usando o mesmo modo e parâmetros de compartimentalização.

Dica

Se você usar a compartimentalização nos seus dados de treinamento, precisará usar o mesmo método de compartimentalização nos dados usados para teste e previsão. Você também precisará usar as mesmas localizações e larguras de compartimento.

Para garantir que os dados sejam sempre transformados com o mesmo método de compartimentalização, recomendamos que você salve transformações de dados úteis. Em seguida, aplique-os a outros conjuntos de dados usando o componente Aplicar Transformação.

Próximas etapas

Confira o conjunto de componentes disponíveis no Azure Machine Learning.