Partilhar via


Agrupar dados no componente Compartimentos

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

O componente Agrupar dados em compartimentos oferece suporte a várias opções para vinculação de dados. Você pode personalizar como as bordas do compartimento são definidas e como os valores são distribuídos nos compartimentos. Por exemplo, você pode:

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

Mais sobre encadernação e agrupamento

Binning ou agrupamento de dados (às vezes chamado de quantização) é uma ferramenta importante na preparação de dados numéricos para aprendizado de máquina. É útil em cenários como estes:

  • Uma coluna de números contínuos tem muitos valores exclusivos para modelar de forma eficaz. Assim, você atribui automaticamente ou manualmente os valores a 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, talvez você queira agrupar valores em uma coluna de idade especificando intervalos personalizados, como 1-15, 16-22, 23-30 e assim por diante para dados demográficos do usuário.

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

    Com esse método, o componente Agrupar dados em compartimentos determina os locais e larguras ideais do compartimento para garantir que aproximadamente o mesmo número de amostras caia 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 encadernação

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

Visualização de resultados

Como há muitas maneiras de agrupar dados, todas personalizáveis, recomendamos que você experimente diferentes métodos e valores.

Como configurar dados de grupo em compartimentos

  1. Adicione o componente Group Data Into Bins ao seu pipeline no designer. Você pode encontrar esse componente na categoria Transformação de dados.

  2. Conecte o conjunto de dados que tem dados numéricos para bin. A quantização só pode ser aplicada a colunas que contenham 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 as quais trabalhar.

  3. Especifique o modo de vinculação. O modo de vinculação determina outros parâmetros, portanto, certifique-se de selecionar a opção Modo de vinculação primeiro. Os seguintes tipos de binning são suportados:

    • Quantis: O método quantil atribui valores a compartimentos com base em classificações de percentis. Este método também é conhecido como binning de altura igual.

    • Largura igual: Com esta opção, você deve especificar o número total de compartimentos. Os valores da coluna de dados são colocados nos compartimentos de forma que cada compartimento tenha o mesmo intervalo entre os valores iniciais e finais. Como resultado, alguns compartimentos podem ter mais valores se os dados estiverem agrupados em torno de um determinado ponto.

    • Bordas personalizadas: você pode especificar os valores que começam cada compartimento. O valor da borda é sempre o limite inferior do compartimento.

      Por exemplo, suponha que você queira agrupar valores em dois compartimentos. Um terá valores superiores a 0 e outro terá valores inferiores ou iguais a 0. Nesse caso, para bordas de lixo, insira 0 na lista de bordas de compartimento separadas por vírgula. A saída do componente será 1 e 2, indicando o índice bin para cada valor de linha. Observe que a lista de valores separados por vírgulas deve estar em ordem crescente, como 1, 3, 5, 7.

    Nota

    O modo MDL de entropia é definido no Studio (clássico) e ainda não há nenhum pacote de código aberto correspondente que possa ser aproveitado para suportar no Designer.

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

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

    A mesma regra de vinculação é aplicada a todas as colunas aplicáveis que você escolher. Se você precisar compartimentar algumas colunas usando um método diferente, use uma instância separada do componente Dados de grupo em compartimentos para cada conjunto de colunas.

    Aviso

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

  6. Para o modo de saída, indique como você deseja produzir os valores quantizados:

    • Acrescentar: cria uma nova coluna com os valores agrupados e acrescenta-a à tabela de entrada.

    • Inplace: substitui os valores originais pelos novos valores no conjunto de dados.

    • ResultOnly: retorna apenas as colunas de resultados.

  7. Se você selecionar o modo de vinculação Quantiles, use a opção de normalização Quantile para determinar como os valores são normalizados antes de classificar 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 suportados:

    • Percentagem: 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 Bordas personalizadas, insira uma lista de números separados por vírgulas para usar como bordas de compartimento na caixa de texto Lista de bordas separadas por vírgula.

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

    Os valores devem ser classificados na ordem em que os compartimentos são criados, do mais baixo para o mais alto.

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

  10. Envie o pipeline.

Resultados

O componente Agrupar dados em compartimentos retorna um conjunto de dados no qual cada elemento foi vinculado de acordo com o modo especificado.

Ele também retorna uma transformação binning. Essa função pode ser passada para o componente Apply Transformation para armazenar novas amostras de dados usando o mesmo modo de vinculação e parâmetros.

Gorjeta

Se você usar binning em seus dados de treinamento, deverá usar o mesmo método de binning em dados que você usa para teste e previsão. Você também deve usar os mesmos locais e larguras do compartimento.

Para garantir que os dados sejam sempre transformados usando o mesmo método de vinculaçã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óximos passos

Consulte o conjunto de componentes disponíveis para o Azure Machine Learning.