Editar Metadados

Importante

O suporte para o Estúdio de ML (clássico) terminará a 31 de agosto de 2024. Recomendamos a transição para o Azure Machine Learning até essa data.

A partir de 1 de dezembro de 2021, não poderá criar novos recursos do Estúdio de ML (clássico). Até 31 de agosto de 2024, pode continuar a utilizar os recursos existentes do Estúdio de ML (clássico).

A documentação do Estúdio de ML (clássico) está a ser descontinuada e poderá não ser atualizada no futuro.

Edita metadados associados a colunas num conjunto de dados

Categoria: Transformação de Dados / Manipulação

Nota

Aplica-se a: Machine Learning Studio (clássico) apenas

Módulos semelhantes de arrasto e queda estão disponíveis em Azure Machine Learning designer.

Visão geral do módulo

Este artigo descreve como utilizar o módulo editar metadados em Machine Learning Studio (clássico) para alterar metadados que estão associados a colunas num conjunto de dados. Os valores e os tipos de dados no conjunto de dados não são efetivamente alterados; o que muda são os metadados dentro Machine Learning que diz aos componentes a jusante como usar a coluna.

As mudanças típicas de metadados podem incluir:

  • Tratar as colunas booleanas ou numéricas como valores categóricos

  • Indicando qual coluna contém o rótulo de classe , ou os valores que pretende categorizar ou prever

  • Marcando colunas como características

  • Alterar valores de data/hora para um valor numérico, ou vice-versa

  • Rebatizando colunas

Utilize Metadados de Edição sempre que precisar de modificar a definição de coluna, normalmente para satisfazer os requisitos de um módulo a jusante. Por exemplo, alguns módulos só podem funcionar com tipos de dados específicos, ou exigir bandeiras nas colunas, tais como IsFeature ou IsCategorical.

Após a realização da operação necessária, pode redefinir os metadados para o seu estado original.

Como configurar Editar Metadados

  1. Em Machine Learning Studio (clássico), adicione o módulo de Metadados editar à sua experiência e ligue o conjunto de dados que pretende atualizar. Pode encontrá-lo na categoria De Transformação de Dados, na categoria Manipular .

  2. Clique em Lançar o seletor de colunas e escolher a coluna ou conjunto de colunas para trabalhar. Pode escolher colunas individualmente, por nome ou índice, ou pode escolher um grupo de colunas, por tipo.

    Dica

    Precisa de ajuda usando índices de colunas? Consulte a secção notas técnicas .

  3. Selecione a opção tipo Dado se precisar de atribuir um tipo de dado diferente às colunas selecionadas. Pode ser necessário alterar o tipo de dados para determinadas operações: por exemplo, se o conjunto de dados de origem tiver números tratados como texto, deve alterá-los para um tipo de dados numérico antes de utilizar as operações de matemática.

    • Os tipos de dados suportados sãoFloating pointIntegerString, , , Boolean, DateTime, e .TimeSpan

    • Se várias colunas forem selecionadas, deve aplicar as alterações de metadados em todas as colunas selecionadas. Por exemplo, digamos que escolha 2-3 colunas numéricas. Podes alterá-los todos para um tipo de dados de corda, e renomeá-los numa operação. No entanto, não é possível alterar uma coluna para um tipo de dados de cadeia e outra coluna de um flutuador para um inteiro.

    • Se não especificar um novo tipo de dados, os metadados da coluna são inalterados.

    • As alterações do tipo de dados afetam apenas os metadados associados ao conjunto de dados e a forma como os dados são tratados em operações a jusante. Os valores reais da coluna não são alterados a menos que efetue uma operação diferente (como arredondamento) na coluna. Pode recuperar o tipo de dados original a qualquer momento utilizando metadados de edição para redefinir o tipo de dados da coluna.

    Nota

    Se alterar qualquer tipo de número para o tipo DateTime , deixe o campo de formato DateTime em branco. Atualmente, não é possível especificar o formato de dados-alvo.

Machine Learning pode converter datas em números ou números até datas, se os números forem compatíveis com um dos objetos suportados .NET DateTime. Para mais informações, consulte a secção Notas Técnicas .

  1. Selecione a opção Categórica para especificar que os valores nas colunas selecionadas devem ser tratados como categorias.

    Por exemplo, pode ter uma coluna que contém os números 0,1 e 2, mas saiba que os números realmente significam "Fumador", "Não fumador" e "Desconhecido". Nesse caso, assinalando a coluna como categórica, pode garantir que os valores não são utilizados em cálculos numéricos, apenas para agrupar dados.

  2. Utilize a opção Campos se quiser alterar a forma como Machine Learning utiliza os dados num modelo.

    • Característica: Utilize esta opção para sinalizar uma coluna como uma funcionalidade, para utilização com módulos que funcionam apenas em colunas de funcionalidades. Por padrão, todas as colunas são inicialmente tratadas como características.

    • Etiqueta: Utilize esta opção para marcar o rótulo (também conhecido como atributo previsível, ou variável alvo). Muitos módulos requerem que pelo menos uma (e apenas uma) coluna de etiquetas esteja presente no conjunto de dados.

      Em muitos casos, Machine Learning pode inferir que uma coluna contém uma etiqueta de classe, mas ao configurar estes metadados pode garantir que a coluna é identificada corretamente. Definir esta opção não altera os valores de dados, apenas a forma como alguns algoritmos de aprendizagem automática lidam com os dados.

    • Peso: Utilize esta opção com dados numéricos para indicar que os valores da coluna representam pesos para utilização em operações de pontuação ou treino de machine learning. Apenas uma coluna de peso pode estar presente num conjunto de dados, e a coluna deve ser numérica. Esta opção funciona apenas nestes modelos: Two-Class Regressão Logística, Máquina vetorial de suporte Two-Class e Two-Class Rede Neural.

    Dica

    Tem dados que não se enquadram nestas categorias? Por exemplo, o seu conjunto de dados pode conter valores como identificadores únicos que não são úteis como variáveis. Às vezes, os IDs podem causar problemas quando usados num modelo.

    Felizmente ,Machine Learning "debaixo das coberturas" mantém todos os seus dados, para que não tenha de apagar tais colunas do conjunto de dados. Quando necessitar de efetuar operações em algum conjunto especial de colunas, basta remover todas as outras colunas temporariamente utilizando as Colunas Selecionadas no módulo Dataset . Mais tarde, pode fundir as colunas de volta ao conjunto de dados utilizando o módulo Add Columns .

  3. Utilize as seguintes opções para limpar as seleções anteriores e restaurar metadados nos valores predefinidos.

    • Função clara: Utilize esta opção para remover a bandeira de recurso.

      Como todas as colunas são inicialmente tratadas como características, para módulos que realizam operações matemáticas, pode ser necessário utilizar esta opção para evitar que as colunas numéricas sejam tratadas como variáveis.

    • Etiqueta clara: Utilize esta opção para remover os metadados de etiqueta da coluna especificada.

    • Pontuação clara: Utilize esta opção para remover os metadados de pontuação da coluna especificada.

      Atualmente, a capacidade de marcar explicitamente uma coluna como uma pontuação não está disponível em Machine Learning. No entanto, algumas operações resultam em que uma coluna seja sinalizada como uma pontuação interna. Além disso, um módulo R personalizado pode obter valores de pontuação.

    • Peso claro: Utilize esta opção para remover os metadados de peso da coluna especificada.

  4. Para novos nomes de colunas, digite o novo nome da coluna ou colunas selecionadas.

    • Os nomes das colunas podem usar apenas caracteres que são suportados pela codificação UTF-8. Não são permitidas cordas vazias, nulos ou nomes que consistam inteiramente em espaços.

    • Para renomear várias colunas, digite os nomes como uma lista separada por vírgula por ordem dos índices de coluna.

    • Todas as colunas selecionadas devem ser renomeadas. Não pode omitir ou saltar colunas.

    Dica

    Se precisar de renomear várias colunas, pode colar numa corda delimitada em vírgula preparada com antecedência. Ou, utilize os módulos executar o script R ou aplicar SQL de transformação. Consulte a secção de Notas Técnicas para obter código e exemplos.

  5. Execute a experimentação.

Exemplos

Por exemplo, como editar metadados é usado na preparação de dados e modelos de construção, consulte a Galeria Azure AI:

  • Deteção do cancro da mama: Os nomes das colunas são alterados após a junção aos conjuntos de dados. A coluna de identificação do paciente também é sinalizada como categórica para garantir que não é usada num cálculo, mas em vez de manuseada como um valor de corda.

  • Análise de sentimento no Twitter: Demonstra como usar Metadados de Edição para garantir que as colunas são tratadas como funcionalidades. Mais tarde na experiência, os metadados de recurso são apurados.

  • Processamento e análise de dados: Nesta amostra, editar metadados é utilizado para definir novos nomes de colunas para dados que foram carregados a partir de uma página web.

Notas técnicas

Esta secção contém questões conhecidas, perguntas frequentes e alguns exemplos de soluções comuns.

Problemas Conhecidos

  • Os metadados personalizados não são suportados. Não é possível utilizar metadados personalizados em Machine Learning ou editar metadados de coluna fora dos Metadados de Edição. Por exemplo, não é possível adicionar metadados indicando que uma coluna é um identificador único, ou adicionar outros atributos descritivos . Machine Learning suporta apenas os atributos de metadados que são usados dentro de R para trabalhar com fatores, funcionalidades, pesos e etiquetas.

  • Tipos de dados não suportados. Os seguintes tipos de dados numéricos não são suportados: Duplo (decimal) e TimeStamp.

  • Identificando colunas de pontuação. Atualmente não existe opção em Editar Metadados para sinalizar uma coluna como contendo pontuações. No entanto, pode utilizar o módulo Execut R Script com um script semelhante ao seguinte para indicar que uma coluna contém pontuações:

    dataset <- maml.mapInputPort(1)   
    attr(dataset$x, "label.type")= "True Labels"  
    attr(dataset$y, "feature.channel")= "Multiclass Classification Scores"  
    attr(dataset$y, "score.type")= "Assigned Labels"  
    maml.mapOutputPort("dataset");
    
  • Problemas com formatos de data. O tipo de dados subjacente datetime utilizado por Machine Learning é POSIXct.

    Se todas as datas de uma coluna puderem ser analisadas pelo parser predefinido, a coluna é importada e tratada como dados de cadeia.

    Se tentar converter uma coluna utilizando DateTime o módulo de Metadados editar e obter um erro, significa que a data não está num formato que .Net aceita por padrão. Neste caso, recomendamos que utilize o módulo Execut r Script ou o módulo De Transformação de SQL Para transformar a sua coluna num formato que seja aceite pelo analisador predefinido.

    Método DateTime.Parse

    Cadeias de formato de data e hora padrão

Selecionando colunas usando índices de colunas

Em conjuntos de dados muito grandes, não é possível escrever manualmente ou selecionar todos os nomes das colunas. A utilização do índice de coluna é um atalho que pode utilizar para especificar muitas colunas. Esta secção fornece algumas dicas sobre a utilização de índices de colunas.

Por exemplo, abra o Seletor de Colunas, clique com REGRAS, selecione Incluir e escrever índices de colunas e, em seguida, digitar uma gama ou série de números da seguinte forma:

  • Digite 1-20 para selecionar as primeiras 20 colunas
  • Digite 5-20 para selecionar uma gama de colunas a partir de 5 e incluindo a coluna 20.
  • Digite 1,5,10,15 para selecionar colunas descontínuas
  • Tipo 1-2, 5 para selecionar colunas 1, 2 e 5, saltando colunas 3 e 4
  • Não é possível escrever um valor de índice superior ao número de colunas disponíveis no conjunto de dados.

As seguintes experiências fornecem alguns exemplos de outros métodos para selecionar e modificar várias colunas:

  • Classificação Binária: Deteção do Cancro da Mama: Os dados originais continham muitas colunas em branco geradas durante a importação de uma folha de cálculo. As colunas extra foram removidas especificando as colunas 1-11 no módulo de Dados Divididos .

  • O conjunto de dados de descarregamento da UCI: Demonstra como pode fornecer nomes de colunas como uma lista utilizando o módulo Manual de Dados de Introdução e, em seguida, inserir a lista no conjunto de dados como títulos, utilizando o módulo de script Execute R .

  • Regex Select Columns: Esta experiência fornece um módulo personalizado que permite aplicar uma expressão regular aos nomes das colunas. Pode utilizar este módulo como entrada para editar metadados.

Métodos alternativos para modificar nomes de colunas

Se tiver muitas colunas para renomear, pode utilizar o módulo Executar Script R ou o módulo De transformação de SQL.

Usando o script R

Os conjuntos de dados utilizados por Machine Learning são transmitidos para este módulo como um data.frame, o que significa que pode utilizar a função R colnames() e outras funções R relacionadas, para listar ou alterar nomes de colunas.

Por exemplo, o seguinte código cria uma lista de novos nomes de colunas e, em seguida, aplica essa lista ao conjunto de dados de entrada para gerar novas rubricas de colunas.

irisdata <- maml.mapInputPort(1);    
newnames <- c("CLASS", "SEPAL  LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");

O exemplo a seguir utiliza uma expressão regular em R para substituir globalmente todas as instâncias da cadeia especificada nos nomes das colunas para irisdata:

# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");

Utilização de SQL

O exemplo a seguir toma um conjunto de dados como a entrada e, em seguida, altera os nomes da coluna usando a palavra-chave AS .

SELECT col1 as [C1], 
  col2 as [C2], 
  col3 as [C3], 
  col4 as [C4],
  col5 as [C5] 
FROM t1;

Entrada esperada

Nome Tipo Description
Conjunto de dados Tabela de Dados Conjunto de dados de entrada

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Description
Coluna Qualquer Seleção de Colunas Escolha as colunas às quais as alterações devem aplicar-se.
Tipo de dados Lista Tipo de dados do editor de metadados Inalterado Especifique o novo tipo de dados para a coluna.
Categórico Lista Editor de metadados categórico Inalterado Indicar se a coluna deve ser sinalizada como categórica.
Campos Lista Bandeira do editor de metadados Inalterado Especifique se a coluna deve ser considerada uma característica ou etiqueta por algoritmos de aprendizagem.
Novos nomes de colunas qualquer String Digite os novos nomes para as colunas.

Saída

Nome Tipo Description
Conjunto de dados de resultados Tabela de Dados Conjunto de dados com metadados alterados

Exceções

Exceção Description
Erro 0003 Uma exceção ocorre se um ou mais conjuntos de dados de entrada forem nulos ou vazios.
Erro 0017 Uma exceção ocorre se uma ou mais colunas especificadas tiverem um tipo que não é suportado pelo módulo atual.
Erro 0020 Uma exceção ocorre se o número de colunas em alguns dos conjuntos de dados que são passados para o módulo for muito pequeno.
Erro 0031 Uma exceção ocorre se o número de colunas no conjunto de colunas for inferior ao necessário.
Erro 0027 Uma exceção ocorre quando dois objetos têm que ter o mesmo tamanho, mas não são.
Erro 0028 Uma exceção ocorre quando o conjunto de colunas contém nomes de colunas duplicados e não é permitido.
Erro 0037 Uma exceção ocorre se várias colunas de etiqueta são especificadas e apenas uma é permitida.

Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte Machine Learning Códigos de Erro.

Para obter uma lista de exceções da API, consulte Machine Learning CÓDIGOs de Erro da API REST.

Ver também

Manipulação
Transformação de Dados
Lista de Módulos A-Z