Partilhar via


Componente Dividir dados

Este artigo descreve um componente no designer do Azure Machine Learning.

Use o componente Dividir dados para dividir um conjunto de dados em dois conjuntos distintos.

Esse componente é útil quando você precisa separar dados em conjuntos de treinamento e teste. Você também pode personalizar a maneira como os dados são divididos. Algumas opções suportam a randomização de dados. Outros são adaptados para um determinado tipo de dados ou tipo de modelo.

Configurar o componente

Gorjeta

Antes de escolher o modo de divisão, leia todas as opções para determinar o tipo de divisão que você precisa. Se você alterar o modo de divisão, todas as outras opções poderão ser redefinidas.

  1. Adicione o componente Dividir dados ao seu pipeline no designer. Você pode encontrar esse componente em Transformação de dados, na categoria Amostra e divisão .

  2. Modo de divisão: escolha um dos seguintes modos, dependendo do tipo de dados que você tem e como deseja dividi-los. Cada modo de divisão tem opções diferentes.

    • Dividir linhas: use esta opção se quiser apenas dividir os dados em duas partes. Você pode especificar a porcentagem de dados a ser colocada em cada divisão. Por padrão, os dados são divididos 50/50.

      Você também pode randomizar a seleção de linhas em cada grupo e usar amostragem estratificada. Na amostragem estratificada, você deve selecionar uma única coluna de dados para a qual deseja que os valores sejam distribuídos igualmente entre os dois conjuntos de dados de resultados.

    • Divisão de expressão regular: escolha esta opção quando quiser dividir seu conjunto de dados testando uma única coluna para um valor.

      Por exemplo, se você estiver analisando sentimento, poderá verificar a presença de um nome de produto específico em um campo de texto. Em seguida, você pode dividir o conjunto de dados em linhas com o nome do produto de destino e linhas sem o nome do produto de destino.

    • Divisão relativa da expressão: use esta opção sempre que quiser aplicar uma condição a uma coluna numérica. O número pode ser um campo de data/hora, uma coluna que contém valores de idade ou dólares ou até mesmo uma porcentagem. Por exemplo, talvez você queira dividir seu conjunto de dados com base no custo dos itens, agrupar pessoas por faixas etárias ou separar dados por uma data de calendário.

Dividir linhas

  1. Adicione o componente Dados Divididos ao pipeline no designer e conecte o conjunto de dados que você deseja dividir.

  2. Para o modo de divisão, selecione Dividir linhas.

  3. Fração de linhas no primeiro conjunto de dados de saída: use esta opção para determinar quantas linhas entrarão na primeira saída (lado esquerdo). Todas as outras linhas irão para a segunda saída (lado direito).

    A proporção representa a porcentagem de linhas enviadas para o primeiro conjunto de dados de saída, portanto, você deve inserir um número decimal entre 0 e 1.

    Por exemplo, se você inserir 0,75 como o valor, o conjunto de dados será dividido 75/25. Nessa divisão, 75% das linhas serão enviadas para o primeiro conjunto de dados de saída. Os 25% restantes serão enviados para o segundo conjunto de dados de saída.

  4. Selecione a opção Divisão aleatória se quiser randomizar a seleção de dados nos dois grupos. Essa é a opção preferida ao criar conjuntos de dados de treinamento e teste.

  5. Random Seed: Este parâmetro será ignorado se Randomized split estiver definido como false. Caso contrário, insira um valor inteiro não negativo para iniciar a sequência pseudoaleatória de instâncias a serem usadas. Essa semente padrão é usada em todos os componentes que geram números aleatórios.

    A especificação de uma semente torna os resultados reprodutíveis. Se você precisar repetir os resultados de uma operação de divisão, você deve especificar o mesmo número de semente para o gerador de números aleatórios.

  6. Divisão estratificada: defina esta opção como True para garantir que os dois conjuntos de dados de saída contenham uma amostra representativa dos valores na coluna de estratos ou na coluna de chave de estratificação.

    Com a amostragem estratificada, os dados são divididos de forma que cada conjunto de dados de saída obtenha aproximadamente a mesma porcentagem de cada valor de destino. Por exemplo, você pode querer garantir que seus conjuntos de treinamento e teste estejam aproximadamente equilibrados em relação ao resultado ou a alguma outra coluna (como gênero).

  7. Envie o pipeline.

Selecionar uma expressão regular

  1. Adicione o componente Dados Divididos ao pipeline e conecte-o como entrada ao conjunto de dados que você deseja dividir.

  2. Em Modo de divisão, selecione Divisão de expressão regular.

  3. Na caixa Expressão regular, insira uma expressão regular válida.

    A expressão regular deve seguir a sintaxe Python para expressões regulares.

  4. Envie o pipeline.

    Com base na expressão regular fornecida, o conjunto de dados é dividido em dois conjuntos de linhas: linhas com valores que correspondem à expressão e todas as linhas restantes.

Os exemplos a seguir demonstram como dividir um conjunto de dados usando a opção Expressão regular.

Uma única palavra inteira

Este exemplo coloca no primeiro conjunto de dados todas as linhas que contêm o texto Gryphon na coluna Text. Ele coloca outras linhas na segunda saída de Split Data.

    \"Text" Gryphon  

Substring

Este exemplo procura a cadeia de caracteres especificada em qualquer posição dentro da segunda coluna do conjunto de dados. A posição é aqui denotada pelo valor do índice de 1. A correspondência diferencia maiúsculas de minúsculas.

(\1) ^[a-f]

O primeiro conjunto de dados de resultado contém todas as linhas em que a coluna de índice começa com um destes caracteres: a, b, c, d, e, f. Todas as outras linhas são direcionadas para a segunda saída.

Selecionar uma expressão relativa

  1. Adicione o componente Dados Divididos ao pipeline e conecte-o como entrada ao conjunto de dados que você deseja dividir.

  2. Em Modo de divisão, selecione Expressão relativa.

  3. Na caixa Expressão relacional, insira uma expressão que execute uma operação de comparação em uma única coluna.

    Para a coluna Numérica:

    • A coluna contém números de qualquer tipo de dados numéricos, incluindo tipos de dados de data e hora.
    • A expressão pode fazer referência a um máximo de um nome de coluna.
    • Use o caractere e comercial, &, para a operação AND. Use o caractere pipe, |, para a operação OR.
    • Os seguintes operadores são suportados: <, >, <=, , >===, !=.
    • Não é possível agrupar operações usando ( e ).

    Para a coluna String:

    • Os seguintes operadores são suportados: ==, !=.
  4. Envie o pipeline.

    A expressão divide o conjunto de dados em dois conjuntos de linhas: linhas com valores que atendem à condição e todas as linhas restantes.

Os exemplos a seguir demonstram como dividir um conjunto de dados usando a opção Expressão relativa no componente Dados divididos.

Ano civil

Um cenário comum é dividir um conjunto de dados por anos. A expressão a seguir seleciona todas as linhas em que os valores na coluna Year são maiores que 2010.

\"Year" > 2010

A expressão de data deve levar em conta todas as partes de data incluídas na coluna de dados. O formato das datas na coluna de dados deve ser consistente.

Por exemplo, em uma coluna de data que usa o formato mmddyyyy, a expressão deve ser algo assim:

\"Date" > 1/1/2010

Índice da coluna

A expressão a seguir demonstra como você pode usar o índice de coluna para selecionar todas as linhas na primeira coluna do conjunto de dados que contêm valores menores ou iguais a 30, mas não iguais a 20.

(\0)<=30 & !=20

Próximos passos

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