Componente Dividir Dados

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

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

Este componente é útil quando precisa de separar os dados em conjuntos de preparação e teste. Também pode personalizar a forma como os dados são divididos. Algumas opções suportam a aleatoriedade de dados. Outros são adaptados para um determinado tipo de dados ou tipo de modelo.

Configurar o componente

Dica

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

  1. Adicione o componente Dividir Dados ao pipeline no estruturador. Pode encontrar este componente em Transformação de Dados, na categoria Exemplo e Divisão .

  2. Modo de divisão: escolha um dos seguintes modos, consoante o tipo de dados que tem e como pretende dividi-lo. Cada modo de divisão tem opções diferentes.

    • Dividir Linhas: utilize esta opção se apenas quiser dividir os dados em duas partes. Pode especificar a percentagem de dados a colocar em cada divisão. Por predefinição, os dados estão divididos em 50/50.

      Também pode aleatoriamente a seleção de linhas em cada grupo e utilizar a amostragem estratificada. Na amostragem estratificada, tem de selecionar uma única coluna de dados para a qual pretende que os valores sejam distribuídos igualmente entre os dois conjuntos de dados de resultados.

    • Divisão de Expressão Normal: selecione esta opção quando pretender dividir o conjunto de dados ao testar uma única coluna para obter um valor.

      Por exemplo, se estiver a analisar sentimentos, pode verificar a presença de um nome de produto específico num campo de texto. Em seguida, pode dividir o conjunto de dados em linhas com o nome do produto de destino e as linhas sem o nome do produto de destino.

    • Divisão de Expressão Relativa: utilize esta opção sempre que quiser aplicar uma condição a uma coluna de número. O número pode ser um campo de data/hora, uma coluna que contém valores de idade ou dólar, ou mesmo uma percentagem. Por exemplo, pode querer dividir o conjunto de dados com base no custo dos itens, agrupar pessoas por intervalos de idade ou separar dados por uma data de calendário.

Dividir linhas

  1. Adicione o componente Dividir Dados ao pipeline no estruturador e ligue o conjunto de dados que pretende dividir.

  2. Para Modo de divisão, selecione Dividir Linhas.

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

    A proporção representa a percentagem de linhas enviadas para o primeiro conjunto de dados de saída, pelo que tem de introduzir um número decimal entre 0 e 1.

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

  4. Selecione a opção Divisão aleatória se quiser aleatoriamente a seleção de dados nos dois grupos. Esta é a opção preferencial quando está a criar conjuntos de dados de preparação e teste.

  5. Semente Aleatória: este parâmetro será ignorado se a divisão Aleatória estiver definida como falsa. Caso contrário, introduza um valor inteiro não negativo para iniciar a sequência pseudorandom de instâncias a utilizar. Esta semente predefinida é utilizada em todos os componentes que geram números aleatórios.

    Especificar uma semente torna os resultados reproduzíveis. Se precisar de repetir os resultados de uma operação de divisão, 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 Verdadeiro para garantir que os dois conjuntos de dados de saída contêm 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 modo a que cada conjunto de dados de saída obtenha aproximadamente a mesma percentagem de cada valor de destino. Por exemplo, poderá querer garantir que os seus conjuntos de preparação e teste estão aproximadamente equilibrados no que diz respeito ao resultado ou a outra coluna (como género).

  7. Submeta o pipeline.

Selecionar uma expressão normal

  1. Adicione o componente Dividir Dados ao pipeline e ligue-o como entrada ao conjunto de dados que pretende dividir.

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

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

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

  4. Submeta o pipeline.

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

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

Palavra inteira única

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

    \"Text" Gryphon  

Subcadeia

Este exemplo procura a cadeia especificada em qualquer posição na segunda coluna do conjunto de dados. A posição é indicada aqui pelo valor de índice de 1. A correspondência é sensível às maiúsculas e minúsculas.

(\1) ^[a-f]

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

Selecionar uma expressão relativa

  1. Adicione o componente Dividir Dados ao pipeline e ligue-o como entrada ao conjunto de dados que pretende dividir.

  2. Para Modo de divisão, selecione Expressão Relativa.

  3. Na caixa Expressão relacional , introduza uma expressão que efetue uma operação de comparação numa única coluna.

    Para a coluna Numérica:

    • A coluna contém números de qualquer tipo de dados numérico, incluindo tipos de dados de data e hora.
    • A expressão pode referenciar um máximo de um nome de coluna.
    • Utilize o caráter de esctro, &, para a operação E. Utilize o caráter de pipe, |, para a operação OR.
    • São suportados os seguintes operadores: <, , >, <=, >=, ==. !=
    • Não pode agrupar operações com ( e ).

    Para a coluna Cadeia:

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

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

Os exemplos seguintes demonstram como dividir um conjunto de dados com a opção Expressão Relativa no componente Dividir Dados .

Ano civil

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

\"Year" > 2010

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

Por exemplo, numa coluna de data que utiliza o formato mmddyyyy, a expressão deve ser semelhante a esta:

\"Date" > 1/1/2010

Índice de colunas

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

(\0)<=30 & !=20

Passos seguintes

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