Compartir a través de


Convertir en SVMLight

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

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

Categoría: Conversiones de formato de datos

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Convertir en SVMLight en Machine Learning Studio (clásico) para convertir los conjuntos de datos al formato que usa SVMLight.

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

Para más información, consulte Máquina de vectores de compatibilidad de SVMLight.

Configuración de Convert to SVMLight

La conversión al formato SVMLight implica convertir cada caso en una fila de datos que comienza con la etiqueta , seguida de pares de característica-valor expresados como números separados por dos puntos. El proceso de conversión no identifica automáticamente las columnas correctas, por lo que es importante preparar las columnas del conjunto de datos 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 Convert to SVMLight (Convertir en SVMLight ) al experimento. Puede encontrar este módulo en la categoría Conversiones de formato de datos en Machine Learning Studio (clásico).

  2. Conectar el conjunto de datos 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 reutilizarlos con un programa que admita SVMLight.

Preparación de los datos para la conversión

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

Este conjunto de datos de ejemplo tiene el formato siguiente, en formato tabular.

Recency Frecuencia Monetaria 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 [Clase] en este conjunto de datos, es la última columna de la tabla. Sin embargo, si convierte el conjunto de datos en SVMLight sin indicar primero que la columna contiene la etiqueta, la primera columna, [Recency], 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 Editar metadatos .

  1. En la primera instancia de Editar metadatos, seleccione la columna de etiqueta ([Clase]) y, en Campos, seleccione Etiqueta.

  2. En la segunda instancia de Editar metadatos , seleccione todas las columnas de características que necesite en el archivo convertido ([Recency], [Frequency], [Monetary], [Time]) y, en 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 datos Desatensión de sangre ahora tienen este formato:

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

  • El valor de etiqueta 0 de la quinta fila se ha convertido a -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 de Azure ML ni visualizarlos. Sin embargo, puede descargarlo en un recurso compartido local.

Mientras tiene el archivo 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 características originales.

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

Ejemplos

No hay ningún ejemplo 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 archivos ejecutables proporcionados en SVM-Light framework 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 las bibliotecas SVMLight.

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

  • 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 está en su propia fila. Un caso consta de un valor de destino seguido de una serie de índices y los valores de características asociados.

    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 entrenamiento

En la tabla siguiente se muestra cómo los valores de las columnas del conjunto de datos iris de Two-Class se convierten 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 Vowpal Wabbit

El formato SVMLight es similar al formato usado por Vowpal Wabbit. Para cambiar el archivo de salida de SVMLight a un formato que se puede usar para entrenar un modelo de Vowpal Wabbit, 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