Converter em SVMLight

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

Converte a entrada de dados para o formato usado pela estrutura SVM-Light

Categoria: conversões de formato de dados

Observação

aplica-se a: somente Machine Learning Studio (clássico)

Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.

Visão geral do módulo

este artigo descreve como usar o módulo converter para SVMLight no Machine Learning Studio (clássico), para converter seus conjuntos de os em formato usado pelo SVMLight.

A estrutura SVM-Light foi desenvolvida por pesquisadores da Universidade de Cornell. A biblioteca de SVM-Light implementa o computador de vetor de suporte do Vapnik, mas o formato foi adotado em outro lugar e pode ser usado para muitas tarefas de aprendizado de máquina, incluindo classificação e regressão.

Para obter mais informações, consulte computador de vetor de suporte do SVMLight.

Como configurar Convert para SVMLight

A conversão para o formato SVMLight envolve a conversão de cada caso em uma linha de dados que começa com o rótulo, seguida por pares de recurso-valor expressos como números separados por dois-pontos. O processo de conversão não identifica automaticamente as colunas corretas, portanto, é importante que você prepare as colunas em seu conjunto de seus conjuntos de seus antes de tentar a conversão. Para obter mais informações, consulte preparando dados para conversão.

  1. Adicione o módulo converter em SVMLight ao seu experimento. você pode encontrar esse módulo na categoria de conversões de formato de dados no Machine Learning Studio (clássico).

  2. Conexão o conjunto de resultados ou a saída que você deseja converter em formato SVMLight.

  3. Execute o experimento.

  4. Clique com o botão direito do mouse na saída do módulo, selecione baixare salve os dados em um arquivo local para modificação ou reutilização com um programa que dê suporte a SVMLight.

Preparando dados para conversão

Para ilustrar o processo de conversão, este exemplo usa o conjunto de os doadores de sangue no estúdio (clássico).

Este conjunto de exemplo tem o seguinte formato, em formato de tabela.

Recency Frequência Monetário Hora Classe
2 50 12500 98 1
0 13 3250 28 1
1 1 4000 35 1
2 20 5.000 45 1
1 24 6000 77 0

Observe que a coluna de rótulo, chamada [Class] neste DataSet, é a última coluna da tabela. No entanto, se você converter o conjunto de recursos em SVMLight sem primeiro indicar que a coluna contém o rótulo, a primeira coluna, [recency], será usada como o rótulo e a coluna [Class] será tratada como um recurso:

2 1:50 2:12500 3:98 4:1
0 1:13 2:3250 3:28 4:1
1 1:16 2:4000 3:35 4:1

Para garantir que os rótulos sejam gerados corretamente no início da linha para cada caso, você deve adicionar duas instâncias do módulo Editar metadados .

  1. Na primeira instância de Editar metadados, selecione a coluna rótulo ([classe]) e para campos, selecione rótulo.

  2. Na segunda instância de Editar metadados, selecione todas as colunas de recurso de que você precisa no arquivo convertido ([recency], [Frequency], [monetário], [time]) e para campos, selecione recursos.

Depois que as colunas forem identificadas corretamente, você poderá executar o módulo converter para SVMLight . Após a conversão, as primeiras linhas do conjunto de registros de doadores de sangue agora têm este formato:

  • O valor do rótulo precede cada entrada, seguido pelos valores de [recency], [Frequency], [monetário] e [time], identificados como os recursos 1, 2, 3 e 4, respectivamente.

  • O valor de rótulo 0 na quinta linha foi convertido em-1. Isso ocorre porque o SVMLight dá suporte apenas a rótulos de classificação binária.

1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28
1 1:1 2:16 3:4000 4:35
1 1:2 2:20 3:5000 4:45
-1 1:1 2:24 3:6000 4:77

você não pode usar esses dados de texto diretamente para modelos no Azure ML ou visualizá-los. No entanto, você pode baixá-lo para um compartilhamento local.

Enquanto o arquivo estiver aberto, recomendamos que você adicione uma linha de comentário, precedida por # , para que você possa adicionar observações sobre a origem ou os nomes de coluna de recursos originais.

Para usar um arquivo SVMLight no Vowpal wabbit e fazer modificações adicionais, conforme descrito aqui: conversão para Vowpal Wabbit Format. Quando o arquivo estiver pronto, carregue-o no armazenamento de BLOBs do Azure e chame-o diretamente de um dos módulos Vowpal Wabbit.

Exemplos

Não há exemplos no Galeria de ia do Azure: que são específicos para esse formato.

Observações técnicas

Esta seção contém detalhes de implementação, dicas e respostas para perguntas frequentes.

Dicas de uso

Os executáveis fornecidos no SVM-Light Framework exigem um arquivo de exemplo e um arquivo de modelo. No entanto, esse módulo cria apenas o arquivo de exemplo. Você deve criar o arquivo de modelo separadamente usando as bibliotecas SVMLight.

O arquivo de exemplo é o arquivo que contém os exemplos de treinamento.

  • Cabeçalho opcional

    As primeiras linhas podem conter comentários. Comentários devem ser prefixados com o sinal de número (#).

    A saída do formato de arquivo por Conversão para SVMLight não cria cabeçalhos. Você pode editar o arquivo para adicionar comentários, uma lista de nomes de coluna e assim por diante.

  • Dados de treinamento

    Cada caso está em sua própria linha. Um caso consiste em um valor de destino seguido por uma série de índices e os valores de recurso associados.

    O valor de resposta deve ser 1 ou -1 para classificação ou um número de regressão.

    O valor de destino e cada um dos pares de valor de índice são separados por um espaço.

Exemplo de dados de treinamento

A tabela a seguir mostra como os valores nas colunas do conjunto de Two-Class íris são convertidos em uma representação na qual cada coluna é representada por um índice, seguido por dois-pontos e, em seguida, o valor nessa coluna:

Conjunto de dados Iris Conjunto de dados Iris convertido em SVMLight
1 6.3 2.9 5.6 1.8 1 1:6.3 2:2.9 3:5.6 4:1.8
0 4.8 3.4 1.6 0.2 -1 1:4.8 2:3.4 3:1.6 4:0.2
1 7.2 3.2 6 1.8 1 1:7.2 2:3.2 3:6 4:1.8

Observe que os nomes das colunas de recurso são perdidos na conversão.

Usando o SVMLight para preparar um arquivo Vowpal Wabbit

O formato SVMLight é semelhante ao formato usado por Vowpal Wabbit. Para alterar o arquivo de saída SVMLight para um formato acessível para treinar um modelo Vowpal Wabbit, basta adicionar um símbolo de pipe entre o rótulo e a lista de recursos.

Por exemplo, compare estas linhas de entrada:

Formato Vowpal Wabbit, incluindo comentário opcional

# features are [Recency], [Frequency], [Monetary], [Time]
1 | 1:2 2:50 3:12500 4:98
1 | 1:0 2:13 3:3250 4:28

Formato SVMLight, incluindo comentário opcional

# features are [Recency], [Frequency], [Monetary], [Time]
1 1:2 2:50 3:12500 4:98
1 1:0 2:13 3:3250 4:28

Entradas esperadas

Nome Tipo Descrição
Dataset Tabela de Dados Conjunto de dados de entrada

Saída

Nome Tipo Descrição
Conjunto de dados de resultados SvmLight Conjunto de dados de saída

Confira também

Conversões de Formato de Dados
Lista de Módulo A-Z