Converter para SVMLight

Converte a entrada de dados no formato utilizado pelo quadro SVM-Light

Categoria: Conversões de formato de dados

Nota

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

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como utilizar o módulo Converte para SVMLight no Azure Machine Learning Studio (clássico), para converter os seus conjuntos de dados no formato que é utilizado pela SVMLight.

O quadro SVM-Light foi desenvolvido por investigadores da Universidade de Cornell. A biblioteca SVM-Light implementa a máquina vetorial de suporte de Vapnik, mas o formato foi adotado em outros lugares e pode ser usado para muitas tarefas de aprendizagem automática, incluindo classificação e regressão.

Para obter mais informações, consulte a máquina de vetor de suporte SVMLight.

Como configurar Converter para SVMLight

A conversão para o formato SVMLight implica a conversão de cada caso numa linha de dados que começa com a etiqueta, seguida de pares de valor de recurso expressos em números separados pelo cólon. O processo de conversão não identifica automaticamente as colunas corretas, pelo que é importante que prepare as colunas no seu conjunto de dados antes de tentar a conversão. Para obter mais informações, consulte preparar dados para conversão.

  1. Adicione o módulo Converte-se a SVMLight à sua experiência. Pode encontrar este módulo na categoria De Conversão de Formato de Dados no Azure Machine Learning Studio (clássico).

  2. Ligue o conjunto de dados ou a saída que pretende converter para o formato SVMLight.

  3. Execute a experimentação.

  4. Clique com o botão direito na saída do módulo, selecione Download, e guarde os dados para um ficheiro local para modificação ou para reutilização com um programa que suporte o SVMLight.

Preparação de dados para conversão

Para ilustrar o processo de conversão, este exemplo utiliza o conjunto de dados do dador de sangue em Studio (clássico).

Este conjunto de dados da amostra tem o seguinte formato, na forma tabular.

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

Note que a coluna de etiquetas, denominada [Classe] neste conjunto de dados, é a última coluna da tabela. No entanto, se converter o conjunto de dados para SVMLight sem primeiro indicar qual a coluna que contém o rótulo, a primeira coluna, [Receção], é usada como etiqueta, e a coluna [Classe] é tratada como uma característica:

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 se certificar de que as etiquetas são geradas corretamente no início da linha para cada caso, deve adicionar duas instâncias do módulo editar metadados.

  1. No primeiro caso de Editar Metadados, selecione a coluna de etiquetas ([Classe]) e para Campos, selecione Label.

  2. Na segunda instância do Editar Metadados, selecione todas as colunas de recurso de que necessita no ficheiro convertido ([Receção], [Frequência], [Valor], [Tempo]) e para Campos, selecione Funcionalidades.

Depois de as colunas terem sido identificadas corretamente, pode executar o módulo Converte para SVMLight. Após a conversão, as primeiras linhas do conjunto de dados do dador de sangue têm agora este formato:

  • O valor da etiqueta precede cada entrada, seguido dos valores de [Receção], [Frequência], [Monetária], e [Tempo], identificados como as características 1, 2, 3 e 4, respectivamente.

  • O valor da etiqueta de 0 na quinta linha foi convertido para -1. Isto porque a SVMLight suporta apenas etiquetas de classificação binárias.

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

Não é possível utilizar diretamente estes dados de texto para modelos em Azure ML, nem visualizá-lo. No entanto, você pode descarregá-lo para uma partilha local.

Apesar de ter o ficheiro aberto, recomendamos que adicione uma linha de comentários, prefaciada por # , para que possa adicionar notas sobre a origem ou os nomes originais da coluna de funcionalidades.

Para utilizar um ficheiro SVMLight em Vowpal Wabbit, e fazer modificações adicionais como descrito aqui: Conversão para Formato Wabbit Vowpal. Quando o ficheiro estiver pronto, faça o upload para o armazenamento da bolha Azure e ligue-o diretamente de um dos módulos Vowpal Wabbit.

Exemplos

Não existem exemplos na Galeria Azure AI:que sejam específicos deste formato.

Notas técnicas

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

Dicas de utilização

Os executáveis fornecidos no quadro SVM-Light requerem tanto um ficheiro de exemplo como um ficheiro modelo. No entanto, este módulo cria apenas o ficheiro exemplo. Tem de criar o ficheiro modelo separadamente utilizando as bibliotecas SVMLight.

O ficheiro de exemplo é o ficheiro que contém os exemplos de treino.

  • Cabeçalho opcional

    As primeiras linhas podem conter comentários. Os comentários devem ser pré-fixados com o sinal de número (#).

    A saída do formato de ficheiro por Converta para SVMLight não cria cabeçalhos. Pode editar o ficheiro para adicionar comentários, uma lista de nomes de colunas, etc.

  • Dados de preparação

    Cada caso está na sua própria fileira. Um caso consiste num valor-alvo seguido de uma série de índices e dos valores de características associados.

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

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

Exemplo de dados de formação

O quadro a seguir mostra como os valores nas colunas do conjunto de dados da Íris Two-Class são convertidos para uma representação na qual cada coluna é representada por um índice, seguida de um cólon e, em seguida, o valor nessa coluna:

Conjunto de dados da Íris Conjunto de dados da Íris 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

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

Utilização do SVMLight para preparar um ficheiro Vowpal Wabbit

O formato SVMLight é semelhante ao formato utilizado pela Vowpal Wabbit. Para alterar o ficheiro de saída SVMLight para um formato utilizável para a formação de um modelo Vowpal Wabbit, basta adicionar um símbolo de tubo entre a etiqueta e a lista de funcionalidades.

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
Conjunto de dados 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

Ver também

Conversões de formato de dados
Lista de Módulos A-Z