SvmLightLoader Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Esto intenta leer datos en un formato cercano al formato SVM-light, el objetivo es que esta carga pueda interpretar la mayoría de los datos con formato de luz SVM.
public sealed class SvmLightLoader : Microsoft.ML.IDataLoader<Microsoft.ML.Data.IMultiStreamSource>
type SvmLightLoader = class
interface IDataLoader<IMultiStreamSource>
interface ICanSaveModel
Public NotInheritable Class SvmLightLoader
Implements IDataLoader(Of IMultiStreamSource)
- Herencia
-
SvmLightLoader
- Implementaciones
Comentarios
El cargador también puede ser diferente del comportamiento de análisis de SVM-light, de las siguientes maneras generales:
- IDataViewComo , los vectores deben tener una longitud lógica y, por motivos prácticos, resulta útil si la salida de este cargador tiene un tipo de vector de longitud fija, ya que pocos estimadores y ningún estimador básico aceptan características de un tipo de vector de longitud variable. SVM-light no tenía este concepto.
- El IDataView lenguaje tiene un comportamiento diferente w.r.t. analiza los errores.
- La luz SVM tiene algunas restricciones en su formato que no son naturales para intentar restringir en el concepto de este cargador.
- Algunas "extensiones" comunes de este formato que se han producido a lo largo de los años se admiten donde razonable, a menudo compatible con la especificación de algunas opciones.
El formato SVM-light se puede resumir aquí. Un archivo SVM-light puede conducir con cualquier número de líneas que empiecen por "#". Se descartan. {label} {key}:{value} {key}:{value} ... {key}:{value}[#{comment}]
Las líneas no están recortadas, aunque se omiten los espacios en blanco dentro de la línea, antes del carácter de comentario # (si existe). SVM-light usa la función estándar C "isspace", mientras que solo respetamos el espacio y la pestaña como espacios en blanco. Por lo tanto, los espacios de la línea anterior podrían ser, por ejemplo, pestañas, e incluso podría haber varios de ellos en secuencia. A diferencia del formato del cargador de texto, por ejemplo, no hay ningún concepto de campo "en blanco" que tenga ningún estado.
El vector de característica se especifica a través de una serie de pares clave-valor. La luz de SVM requiere que las claves sean positivas, aumentando los enteros, excepto las tres claves especiales: costo (interpretamos como Peso), qid (interpretamos como GroupId) y sid (los ignoramos, pero podría presentarlos como una columna en el futuro si alguno de nuestros alumnos implementa algo parecido al identificador de slack). El valor de "cost" es float, "qid" es un valor long y "sid" es un valor long que debe ser positivo. Si estas claves se especifican varias veces, la última gana.
SVM-light, si la cola del valor no se puede interpretar como un número, omitirá la cola. Por ejemplo, "5:3.14hello" se interpretará igual que "5:3.14". Este cargador no admite esta sintaxis.
No conservamos la restricción de las claves que necesitan aumentar los valores en nuestro cargador, debido a la forma en que redactamos nuestros vectores de características, pero será más eficaz si se sigue esta directiva. Si se sigue una ordenación, no será necesario.
Este cargador tiene la opción especial de leer texto sin formato para las claves y convertir en índices de características, conservando los valores de clave de texto como nombres de características para el vector de característica resultante. La intención de esto es permitir claves de cadena, una variante común del formato, pero una no permitida por el formato original.
Métodos
GetOutputSchema() |
Esto intenta leer datos en un formato cercano al formato SVM-light, el objetivo es que esta carga pueda interpretar la mayoría de los datos con formato de luz SVM. |
Load(IMultiStreamSource) |
Esto intenta leer datos en un formato cercano al formato SVM-light, el objetivo es que esta carga pueda interpretar la mayoría de los datos con formato de luz SVM. |
Implementaciones de interfaz explícitas
ICanSaveModel.Save(ModelSaveContext) |
Esto intenta leer datos en un formato cercano al formato SVM-light, el objetivo es que esta carga pueda interpretar la mayoría de los datos con formato de luz SVM. |
Métodos de extensión
Preview<TSource>(IDataLoader<TSource>, TSource, Int32) |
Obtenga una vista previa de un |
Append<TSource,TTrans>(IDataLoader<TSource>, TTrans) |
Cree un cargador compuesto; para ello, anexe un transformador a este cargador de datos. |
Append<TSource,TTrans>(IDataLoader<TSource>, IEstimator<TTrans>) |
Cree un nuevo estimador de cargador compuesto anexando un estimador a este cargador de datos. |