Particionar e Gerar Amostra

Cria várias partições de um conjunto de dados baseado na amostragem

Categoria: transformação de dados/amostra e divisão

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 partição e exemplo no Azure Machine Learning Studio (clássico), para executar a amostragem em um conjunto de um ou para criar partições a partir de seu conjunto de seus.

A amostragem é uma ferramenta importante na aprendizagem por máquina porque permite reduzir o tamanho de um conjunto de dados, mantendo a mesma proporção de valores. Este módulo dá suporte a várias tarefas relacionadas que são importantes no aprendizado de máquina:

  • Dividir seus dados em várias subseções do mesmo tamanho.

    Você pode usar as partições para validação cruzada ou para atribuir casos a grupos aleatórios.

  • Separar dados em grupos e, em seguida, trabalhar com dados de um grupo específico.

    Depois de atribuir aleatoriamente casos a grupos diferentes, talvez seja necessário modificar os recursos associados a apenas um grupo.

  • Exemplos.

    Você pode extrair uma porcentagem dos dados, aplicar a amostragem aleatória ou escolher uma coluna a ser usada para balancear o conjunto e executar a amostragem de sobreratificação em seus valores.

  • Criando um conjunto de um DataSet menor para teste.

    Se você tiver muitos dados, talvez queira usar apenas as primeiras n linhas durante a configuração do experimento e, em seguida, alternar para o uso do conjunto de dados completo ao criar seu modelo. Você também pode usar a amostragem para criar um conjunto de um DataSet menor para uso no desenvolvimento.

Como configurar a partição e o exemplo

Esse módulo dá suporte a vários métodos para dividir seus dados em partições ou para amostragem. Escolha o método primeiro e, em seguida, defina as opções adicionais exigidas pelo método.

  • Obter o número superior de linhas

Obter as N primeiras linhas de um conjunto de registros

Use este modo para obter apenas as primeiras n linhas. Essa opção será útil se você quiser testar um experimento em um pequeno número de linhas e não precisar que os dados sejam balanceados ou amostrados de qualquer forma.

  1. Adicione a partição e o módulo de exemplo ao seu experimento no Studio (clássico) e conecte o conjunto de espaço.

  2. Modo de partição ou de exemplo: defina essa opção como Head.

  3. Número de linhas a serem selecionadas: digite o número de linhas a serem retornadas.

    O número de linhas especificado deve ser um inteiro não negativo. Se o número de linhas selecionadas for maior do que o número de linhas no conjunto de registros, o conjunto de um inteiro será retornado.

  4. Execute o experimento.

O módulo gera um único conjunto de registros contendo apenas o número especificado de linhas. As linhas são sempre lidas na parte superior do conjunto de registros.

Criar uma amostra de dados

Essa opção dá suporte à amostragem aleatória simples ou à amostragem aleatória de sobreratificação. Isso será útil se você quiser criar um conjunto de um DataSet de exemplo menor para teste.

  1. Adicione a partição e o módulo de exemplo ao seu experimento no Studio (clássico) e conecte o conjunto de espaço.

  2. Modo de partição ou de exemplo: Defina isso para amostragem.

  3. Taxa de amostragem: digite um valor entre 0 e 1. Esse valor especifica a porcentagem de linhas do conjunto de registros de origem que devem ser incluídas no conjunto de resultados de saída.

    Por exemplo, se você quiser apenas metade do conjunto de texto original, digite 0.5 para indicar que a taxa de amostragem deve ser 50%.

    As linhas do conjunto de dados de entrada são embaralhadas e colocadas seletivamente no conjunto de dados de saída, de acordo com a razão especificada.

  4. Semente aleatória para amostragem: opcionalmente, digite um inteiro para usar como um valor de semente.

    Essa opção será importante se você quiser que as linhas sejam divididas da mesma maneira toda vez. O valor padrão é 0, o que significa que uma semente inicial é gerada com base no relógio do sistema. Isso pode levar a resultados um pouco diferentes cada vez que você executar o experimento.

  5. Divisão de sobreratificação para amostragem: Selecione esta opção se for importante que as linhas no conjunto de registros devam ser divididas uniformemente por alguma coluna de chave antes da amostragem.

    Para a coluna de chave estratificação para amostragem, selecione uma única coluna Strata para usar ao dividir o conjunto de os. As linhas no conjunto de registros são então divididas da seguinte maneira:

    1. Todas as linhas de entrada são agrupadas (desratificadas) pelos valores na coluna Strata especificada.

    2. As linhas são colocadas em ordem aleatória dentro de cada grupo.

    3. Cada grupo é seletivamente adicionado ao conjunto de dados de saída para atender à taxa especificada.

    Para obter mais informações sobre a amostragem de sobreratificação, consulte a seção observações técnicas .

  6. Execute o experimento.

    Com essa opção, o módulo gera um único conjunto de dados que contém uma amostragem representativa dos dados.

    A parte restante, não amostrada do conjunto de resultados não é a saída. No entanto, você pode criar uma junção nos conjuntos de registros, usando o módulo aplicar transformação SQL , para determinar quais linhas não foram usadas.

Dividir dados em partições

Use esta opção quando você quiser dividir o conjunto de dados em subconjuntos deles. Essa opção também é útil quando você deseja criar um número personalizado de dobras para validação cruzada ou para dividir linhas em vários grupos.

  1. Adicione a partição e o módulo de exemplo ao seu experimento no Studio (clássico) e conecte o conjunto de espaço.

  2. Para o modo de partição ou de exemplo, selecione atribuir a dobras.

  3. Usar substituição no particionamento: Selecione esta opção se desejar que a linha de amostra seja colocada de volta no pool de linhas para reutilização em potencial. Como resultado, a mesma linha pode ser atribuída a várias dobras.

    Se você não usar a substituição (a opção padrão), a linha de amostra não será colocada de volta no pool de linhas para reutilização potencial. Como resultado, cada linha pode ser atribuída a apenas uma dobra.

  4. Divisão aleatória: Selecione esta opção se desejar que as linhas sejam atribuídas aleatoriamente a dobras.

    Se você não selecionar essa opção, as linhas serão atribuídas a dobras usando o método Round Robin.

  5. Semente aleatória: opcionalmente, digite um inteiro para usar como o valor de semente. Essa opção será importante se você quiser que as linhas sejam divididas da mesma maneira toda vez. Caso contrário, o valor padrão de 0 significa que uma semente de início aleatório será usada.

  6. Especifique o método do particionador: indique como você deseja que os dados sejam distribuídos para cada partição, usando estas opções:

    • Particionar uniformemente: Use essa opção para inserir um número igual de linhas em cada partição. Para especificar o número de partições de saída, digite um número inteiro na caixa de texto especificar número de dobras a serem divididas uniformemente .

    • Partição com proporções personalizadas: Use essa opção para especificar o tamanho de cada partição como uma lista separada por vírgulas.

      Por exemplo, se você quiser criar três partições, com a primeira partição contendo 50% dos dados e as duas partições restantes, cada uma contendo 25% dos dados, clique na caixa de texto lista de proporções separadas por vírgula e digite estes números: .5, .25, .25

      A soma de todos os tamanhos de partição deve somar exatamente 1.

      • Se você inserir números que se somam a menos de 1, uma partição extra será criada para manter as linhas restantes. Por exemplo, se você digitar os valores 0,2 e 3, será criada uma terceira partição que contém a porcentagem restante de 50% de todas as linhas.

      • Se você inserir números que somam mais de 1, um erro será gerado quando você executar o experimento.

  7. Divisão de desratificação: Selecione esta opção se desejar que as linhas sejam desratificadas quando divididas e, em seguida, escolha a coluna Strata.

    Para obter mais informações sobre a amostragem de sobreratificação, consulte a seção observações técnicas .

  8. Execute o experimento.

    Com essa opção, o módulo gera vários conjuntos de resultados, particionados usando as regras que você especificou.

Usar dados de uma partição predefinida

Essa opção é usada quando você divide um conjunto de um DataSet em várias partições e agora deseja carregar cada partição por vez para análise ou processamento posterior.

  1. Adicione a partição e o módulo de exemplo ao experimento no Studio (clássico).

  2. Conecte-o à saída de uma instância anterior de partição e exemplo. Essa instância deve ter usado a opção atribuir a dobras para gerar um número de partições.

  3. Modo de partição ou de exemplo: selecione Selecionar dobra.

  4. Especifique a qual dobra deve ser amostrada: selecione uma partição a ser usada digitando seu índice. Índices de partição são baseados em 1. Por exemplo, se você dividiu o conjunto de um em três partes, as partições teriam os índices 1, 2 e 3.

    Se você digitar um valor de índice inválido, um erro de tempo de design será gerado: "Error 0018: DataSet contém dados inválidos".

    Além de agrupar o conjunto de um por dobras, você pode separar o conjunto de um em dois grupos: uma dobra de destino e todo o resto. Para fazer isso, digite o índice de uma única dobra e, em seguida, selecione a opção escolher complemento da dobra selecionada para obter tudo, exceto os dados na dobra especificada.

  5. Se você estiver trabalhando com várias partições, deverá adicionar mais instâncias do módulo partição e exemplo para lidar com cada partição.

    Por exemplo, digamos que os pacientes particionados anteriormente em cinco dobras usando a idade. Para trabalhar com cada dobra individual, você precisa de cinco cópias da partição e do módulo de exemplo e, em cada uma delas, selecione uma dobra diferente.

    Dica

    O experimento de exemplo, dividir partição e amostra, demonstra essa técnica.

  6. Execute o experimento.

    Com essa opção, o módulo gera um único conjunto de registros contendo apenas as linhas atribuídas a essa dobra.

Observação

Você não pode exibir as designações de dobra diretamente; Eles estão presentes apenas nos metadados.

Exemplos

Para obter exemplos de como esse módulo é usado, consulte a Galeria de ia do Azure:

  • Validação cruzada para classificação binária: uma taxa de amostragem de 20% é aplicada para criar um conjunto de um DataSet menor de amostra aleatória. O conjunto de censo original tinha mais de 30.000 linhas; o conjunto de exemplos de amostra tem cerca de 6500.

  • Validação cruzada para regressão: os dados são atribuídos aleatoriamente e uniformemente a cinco dobras, sem estratificação, e os resultados são usados para validação cruzada.

  • Dividir partição e exemplo: demonstra várias maneiras de usar o particionamento e a amostragem. Primeiro, a opção atribuir a dobras é usada para atribuir linhas no conjunto de registros a um dos três grupos de tamanho uniforme. Em seguida, mais três instâncias de partição e amostra são adicionadas usando o modo de seleção de dobra para aplicar operações a subconjuntos de dados

    • Na primeira dobra (índice de 1), as linhas são divididas aleatoriamente.
    • Na segunda dobra (índice de 2), as linhas são divididas por educação.
    • Na terceira dobra (índice de 3), as linhas são divididas por idade.

Observações técnicas

  • A coluna estratificação deve ser categórica com valores discretos. Se a coluna ainda não for categórica e você receber um erro, use Editar metadados para alterar as propriedades da coluna.

  • A coluna Strata especificada não pode conter dados contínuos: ou seja, dados numéricos com valores de ponto flutuante em cada célula. Caso contrário, o módulo não poderá processar os dados e retornará um erro.

    O motivo é que qualquer coluna usada para estratificação deve ter um conjunto finito de valores possíveis. Se a coluna Strata especificada contiver valores de ponto flutuante e a coluna não for do tipo categórico, ele potencialmente conterá um número infinito de valores.

  • Se a coluna Strata contiver valores Boolianos e você quiser que eles sejam interpretados como categóricos, você deverá usar o módulo Editar metadados para alterar o rótulo de metadados.

  • Se sua coluna Strata contiver dados numéricos ou de cadeia de caracteres com muitos valores exclusivos, a coluna não será um bom candidato para a amostragem de sobreratificação.

Mais sobre a amostragem de sobreratificação

A amostragem de sobreratificação garante que os subconjuntos dos dados tenham uma amostragem representativa da coluna Strata selecionada. Essa técnica é útil, por exemplo, quando você deseja garantir que seus dados de treinamento contenham a mesma distribuição de valores de idades com os dados de teste, ou vice-versa. Ou talvez você queira estratificar em uma coluna de gênero em um estudo de assistência médica para garantir que homens e mulheres sejam distribuídos uniformemente quando os dados forem particionados. A estratificação garante que as proporções dos valores selecionados sejam preservadas.

Você especifica valores nos quais separar os dados selecionando uma única coluna para servir como a coluna Strata.

Este módulo requer que a coluna Strata seja uma coluna categórica. Se você quiser usar uma coluna de valores inteiros para o strata, é recomendável atribuir um tipo categórico a essa coluna. Você pode fazer isso por meio do esquema dos dados antes de adicioná-lo ao Azure Machine Learning Studio (clássico) ou pode atualizar os metadados da coluna usando Editar metadados.

Colunas com dados contínuos (ou seja, dados numéricos com valores de pontos flutuantes em cada célula) não podem ser usadas como colunas de strata. Se você receber um erro, poderá usar agrupar dados em compartimentos para segmentar os valores em intervalos discretos e, em seguida, usar Editar metadados para garantir que a coluna seja tratada como categórica.

Entradas esperadas

Nome Tipo Descrição
Conjunto de dados Tabela de Dados Conjunto de dados a ser dividido

Parâmetros do módulo

Name Intervalo Type Padrão Descrição
Modo de partição ou de amostra Lista Métodos de amostragem amostragem Selecione o modo de partição ou de amostragem
Usar substituição no particionamento Qualquer Booliano Falso Indica se as dobras devem ser não-junção (padrão-sem substituição) ou sobrepostas (substituição true-use)
Divisão aleatória Qualquer Booliano verdadeiro Indique se a divisão é aleatória
Propagação aleatória Qualquer Integer 0 Especificar uma propagação para o gerador de número aleatório
Especifique o método particionador Lista Métodos de partição Particionar uniformemente Selecione particionar uniformemente para particionar em dobras de tamanho igual ou particionar com proporções personalizadas para particionar em partições de tamanho personalizado
Especifique o número de dobras a serem divididas uniformemente >= 1 Integer 5 Selecione um número de partições para dividir
Divisão estratificada Lista Tipo Verdadeiro/Falso Falso Indica se a divisão é estratificada
Coluna chave de estratificação Qualquer ColumnSelection Contém a chave de estratificação
Lista de proporções separadas por vírgula Qualquer String Proporções de lista, separadas por vírgulas
Divisão estratificada para atribuição de dobra personalizada Qualquer Tipo Verdadeiro/Falso Falso Indique se a divisão é estratificada para atribuições de dobra personalizado
Coluna chave de estratificação para atribuição de dobra personalizada Qualquer ColumnSelection Contém a chave de estratificação para atribuições de dobra personalizadas
Especifique qual dobra a ser exemplificada >= 1 Integer 1 Contém o índice da dobra a ser amostrada
Selecione o complemento da dobra selecionada Qualquer Booliano Falso Selecionar o complemento da dobra especificada
Taxa de amostragem Qualquer Float 0,01 Escolha uma taxa de amostragem
Propagação aleatória para amostragem Qualquer Integer 0 Especificar uma propagação para o gerador de número aleatório para amostragem
Divisão estratificada para amostragem Qualquer Verdadeiro/Falso Falso Indique se a divisão é estratificada para amostragem
Coluna chave de estratificação de amostragem Qualquer ColumnSelection Contém a chave de estratificação para amostragem
Número de linhas a serem selecionadas >= 0 Integer 10 Selecione um número máximo de registros que terão permissão para passar para o próximo módulo

Saídas

Nome Tipo Descrição
oDataset Tabela de Dados Conjunto de dados resultantes da divisão

Consulte também

Exemplo e divisão
Dividir dados
Editar metadados
Agrupar Dados em Compartimentos