Convertir en SVMLight

Convierte la entrada de datos al formato usado por el marco de SVM-Light

Categoría: conversiones de formato de datos

Nota

Se aplica a: machine learning Studio (clásico)

Este contenido solo pertenece a Studio (clásico). Se han agregado módulos similares de arrastrar y colocar al diseñador de Azure Machine Learning. Obtenga más información en este artículo comparativa de las dos versiones.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo convertir en SVMLight en Azure machine learning Studio (clásico) para convertir los conjuntos de valores de en el formato usado por SVMLight.

El marco de trabajo de SVM-Light fue desarrollado por investigadores en la Universidad de Cornell. La biblioteca SVM-Light implementa la máquina de vectores de soporte de Vapnik, pero el formato se ha adoptado en otro lugar y se puede usar para muchas tareas de aprendizaje automático, incluida la clasificación y la regresión.

Para obtener más información, consulte máquina de vectores de soporte de SVMLight.

Cómo configurar la conversión a SVMLight

La conversión al formato SVMLight conlleva la conversión de cada caso en una fila de datos que comienza con la etiqueta, seguido de pares de valor y característica expresados como números separados por signos de dos puntos. El proceso de conversión no identifica automáticamente las columnas correctas, por lo que es importante que prepare las columnas en el conjunto de DataSet antes de intentar la conversión. Para obtener más información, vea preparar los datos para la conversión.

  1. Agregue el módulo convertir a SVMLight en el experimento. Puede encontrar este módulo en la categoría conversiones de formato de datos en Azure machine learning Studio (clásico).

  2. Conecte el conjunto de resultados o la salida que desea convertir al formato SVMLight.

  3. Ejecute el experimento.

  4. Haga clic con el botón derecho en la salida del módulo, seleccione Descargar y guarde los datos en un archivo local para su modificación o para su reutilización con un programa que admita SVMLight.

Preparar los datos para la conversión

Para ilustrar el proceso de conversión, en este ejemplo se utiliza el conjunto de metadonante de sangre en Studio (clásico).

Este conjunto de código de ejemplo tiene el formato siguiente, en formato tabular.

Novedad Frecuencia Económico Time Clase
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

Tenga en cuenta que la columna de etiqueta, denominada [Class] en este conjunto de notas, es la última columna de la tabla. Sin embargo, si convierte el conjunto de tipos en SVMLight sin indicar primero que la columna contiene la etiqueta, la primera columna, [Novedad], se usa como etiqueta y la columna [Class] se trata como una 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 asegurarse de que las etiquetas se generan correctamente al principio de la fila para cada caso, debe agregar dos instancias del módulo Edit Metadata (editar metadatos ).

  1. En la primera instancia de editar metadatos, seleccione la columna etiqueta ([clase]) y para los campos, seleccione etiqueta.

  2. En la segunda instancia de editar metadatos, seleccione todas las columnas de características que necesite en el archivo convertido ([Novedad], [Frequency], [monetaria], [Time]) y para los campos, seleccione características.

Una vez identificadas correctamente las columnas, puede ejecutar el módulo convertir a SVMLight . Después de la conversión, las primeras filas del conjunto de filas del donante de sangre ahora tienen este formato:

  • El valor de etiqueta precede a cada entrada, seguido de los valores para [Novedad], [Frequency], [monetaria] y [Time], identificados como características 1, 2, 3 y 4, respectivamente.

  • El valor de etiqueta 0 de la quinta fila se ha convertido en-1. Esto se debe a que SVMLight solo admite etiquetas de clasificación binaria.

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

No puede usar directamente estos datos de texto para los modelos en aprendizaje automático de Azure, ni visualizarlos. Sin embargo, puede descargarlo en un recurso compartido local.

Mientras el archivo está abierto, se recomienda agregar una línea de comentario, precedida por # , para que pueda agregar notas sobre el origen o los nombres de columna de la característica original.

Para usar un archivo SVMLight en Vowpal Wabbit y realizar modificaciones adicionales, tal como se describe aquí: conversión al formato Vowpal Wabbit. Cuando el archivo esté listo, cárguelo en el almacenamiento de blobs de Azure y llámelo directamente desde uno de los módulos de Vowpal Wabbit.

Ejemplos

No hay ejemplos en el Azure AI Gallery: que son específicos de este formato.

Notas técnicas

Esta sección contiene detalles de implementación, sugerencias y respuestas a las preguntas más frecuentes.

Consejos de uso

Los ejecutables proporcionados en el marco de trabajo de SVM-Light requieren un archivo de ejemplo y un archivo de modelo. Sin embargo, este módulo crea solamente el archivo de ejemplo. Debe crear el archivo de modelo por separado mediante el uso de las bibliotecas de SVMLight.

El archivo de ejemplo es el archivo que contiene los ejemplos de aprendizaje.

  • Encabezado opcional

    Las primeras líneas pueden contener Comentarios. Los comentarios deben ir precedidos por el signo de número (#).

    La salida del formato de archivo de Convertir a SVMLight no crea encabezados. Puede editar el archivo para agregar comentarios, una lista de nombres de columna, etc.

  • Datos de aprendizaje.

    Cada caso se encuentra en su propia fila. Un caso consta de un valor de destino seguido de una serie de índices y de los valores de las características asociadas.

    El valor de la respuesta debe ser 1 o -1 para la clasificación o un número de regresión.

    El valor de destino y cada uno de los pares índice-valor están separados por un espacio.

Ejemplo de datos de aprendizaje

En la tabla siguiente se muestra cómo se convierten los valores de las columnas del conjunto de Two-Class iris en una representación en la que cada columna se representa mediante un índice, seguido de dos puntos y, a continuación, el valor de esa columna:

Conjunto de datos de iris Conjunto de datos de iris convertido a 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

Tenga en cuenta que los nombres de las columnas de características se pierden en la conversión.

Uso de SVMLight para preparar un archivo Wabbit de Vowpal

El formato SVMLight es similar al formato usado por Vowpal Wabbit. Para cambiar el archivo de salida de SVMLight a un formato que se pueda usar para entrenar un modelo de wabbit de Vowpal, basta con agregar un símbolo de canalización entre la etiqueta y la lista de características.

Por ejemplo, Compare estas líneas de entrada:

Formato de Vowpal Wabbit, incluido el comentario 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, incluido el comentario 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

Nombre Tipo Descripción
Dataset Tabla de datos Conjunto de datos de entrada

Output

Nombre Tipo Descripción
Conjunto de datos de resultados SvmLight Conjunto de datos de salida

Consulte también

Conversiones de formato de datos
Lista de módulos A-Z