Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

RegressionSVM Predict

Predecir las respuestas mediante un modelo de regresión de máquina de vectores de soporte (SVM)

Desde R2020b

  • RegressionSVM Predict Block Icon

Bibliotecas:
Statistics and Machine Learning Toolbox / Regression

Descripción

El bloque RegressionSVM Predict predice respuestas utilizando un objeto de regresión SVM (RegressionSVM o CompactRegressionSVM).

Importe un objeto de regresión SVM formado en el bloque especificando el nombre de una variable del espacio de trabajo que contenga el objeto. El puerto de entrada x recibe una observación (datos predictores) y el puerto de salida yfit devuelve una respuesta pronosticada para la observación.

Puertos

Entrada

expandir todo

Datos predictores, especificados como un vector columna o vector fila de una observación.

Las variables en x deben tener el mismo orden que las variables predictoras que formaron el modelo SVM especificado por Seleccione el modelo de machine learning entrenado.

Si establece 'Standardize',true en fitrsvm al formar el modelo SVM, el bloque RegressionSVM Predict estandariza los valores de x con las medias y las desviaciones estándar en las propiedades Mu y Sigma (respectivamente) del modelo SVM.

Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Salida

expandir todo

Respuesta pronosticada, devuelta como un escalar.

Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Parámetros

expandir todo

Principal

Especifique una variable del área de trabajo que contenga un objeto RegressionSVM o CompactRegressionSVM.

Cuando entrene el modelo SVM con fitrsvm, se aplicarán las siguientes restricciones:

  • Los datos predictores no pueden incluir predictores categóricos (logical, categorical, char, string o cell). Si proporciona datos de entrenamiento en una tabla, los predictores deben ser numéricos (double o single). Además, no puede utilizar el argumento nombre-valor de CategoricalPredictors. Para incluir los predictores categóricos en un modelo, procéselos con dummyvar antes de ajustar el modelo.

  • El valor del argumento nombre-valor de ResponseTransform debe ser 'none' (valor predeterminado).

  • El valor del argumento nombre-valor de KernelFunction debe ser 'gaussian', 'linear' (valor predeterminado) o 'polynomial'.

Uso programático

Parámetro de bloque: TrainedLearner
Tipo: variable del área de trabajo
Valores: objeto RegressionSVM | objeto CompactRegressionSVM
Valor predeterminado: 'svmMdl'

Tipos de datos

Parámetros operativos de punto fijo

Especifique el modelo de redondeo para operaciones de punto fijo. Para obtener más información, consulte Rounding (Fixed-Point Designer).

Los parámetros de bloque siempre se redondean al valor representable más cercano. Para controlar el redondeo de un parámetro de bloque, introduzca una expresión en el campo de máscara usando una función de redondeo de MATLAB®.

Uso programático

Parámetro de bloque: RndMeth
Tipo: vector de caracteres
Valores: "Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero"
Valor predeterminado: "Floor"

Especifique si los desbordamientos saturan o se adaptan.

AcciónJustificaciónImpacto en los desbordamientosEjemplo

Seleccionar esta casilla (on).

Su modelo tiene un posible desbordamiento y quiere protección frente a saturación explícita en el código generado.

Los desbordamientos saturan el valor mínimo o máximo que el tipo de datos puede representar.

El valor máximo que el tipo de datos int8 (indicado como un valor entero de 8 bits) puede representar es 127. Cualquier resultado de una operación de bloque superior a este valor máximo provoca el desbordamiento del entero de 8 bits. Con la casilla de verificación seleccionada, el bloque de salida se satura en 127. De manera similar, la salida del bloque se satura en el valor de salida mínimo de -128.

Desmarcar esta casilla (off).

Desea optimizar la eficacia de su código generado.

Quiere evitar explicar excesivamente cómo maneja un bloque las señales fuera de rango. Para obtener más información, consulte Troubleshoot Signal Range Errors (Simulink).

Los desbordes se adaptan al valor apropiado que el tipo de datos puede representar.

El valor máximo que el tipo de datos int8 (indicado como un valor entero de 8 bits) puede representar es 127. Cualquier resultado de una operación de bloque superior a este valor máximo provoca el desbordamiento del entero de 8 bits. Con la casilla de verificación desmarcada, el software interpreta el valor que causa el desbordamiento como int8, que puede producir un resultado no intencionado. Por ejemplo, un resultado de bloque de 130 (en binario 1000 0010) expresado como int8 es –126.

Uso programático

Parámetro de bloque: SaturateOnIntegerOverflow
Tipo: vector de caracteres
Valores: "off" | "on"
Valor predeterminado: "off"

Seleccione este parámetro para evitar que las herramientas de punto fijo anulen el tipo de datos que especifica para el bloque. Para obtener más información, consulte Use Lock Output Data Type Setting (Fixed-Point Designer).

Uso programático

Parámetro de bloque: LockScale
Tipo: vector de caracteres
Valores: "off" | "on"
Valor predeterminado: "off"
Tipo de datos

Especifique el tipo de datos para la salida yfit. El tipo puede heredarse, especificarse directamente o expresarse como un objeto de tipo de datos como Simulink.NumericType.

Cuando seleccione Inherit: auto, el bloque utiliza una regla que hereda un tipo de datos.

Para obtener más información acerca de los tipos de datos, consulte Control Data Types of Signals (Simulink).

Haga clic en el botón Show data type assistant para mostrar el Data Type Assistant, que le ayudará a configurar los atributos de tipo de datos. Para obtener más información, consulte Specify Data Types Using Data Type Assistant (Simulink).

Uso programático

Parámetro de bloque: OutDataTypeStr
Tipo: vector de caracteres
Valores: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>"
Valor predeterminado: "Inherit: auto"

Especifique el valor más bajo del intervalo de salida yfit que Simulink® comprueba.

Simulink utiliza el valor mínimo para realizar:

Nota

El parámetro Output data type Minimum no satura ni reduce la señal yfit real. Para hacerlo, use la función Saturation (Simulink) en su lugar.

Uso programático

Parámetro de bloque: OutMin
Tipo: vector de caracteres
Valores: '[]' | escalar
Valor predeterminado: '[]'

Especifique el valor más alto del intervalo de salida yfit que Simulink comprueba.

Simulink utiliza el valor máximo para realizar:

Nota

El parámetro Output data type Maximum no satura ni reduce la señal yfit real. Para hacerlo, use la función Saturation (Simulink) en su lugar.

Uso programático

Parámetro de bloque: OutMax
Tipo: vector de caracteres
Valores: '[]' | escalar
Valor predeterminado: '[]'

Especifique el tipo de datos de un parámetro para una computación de kernel. El tipo puede especificarse directamente o expresarse como un objeto de tipo de datos como Simulink.NumericType.

El parámetro Kernel data type especifica el tipo de datos de un parámetro diferente en función del tipo de función de kernel del modelo SVM especificado. Especifique el argumento nombre-valor KernelFunction al entrenar el modelo SVM.

Valor de 'KernelFunction'Tipo de datos
'gaussian' o 'rbf'Kernel data type especifica el tipo de datos de la distancia cuadrada D2=xs2 para el kernel gausiano G(x,s)=exp(D2), donde x son los datos predictores de una observación y s es un vector de soporte.
'linear'Kernel data type especifica el tipo de datos para la salida de la función lineal de kernel G(x,s)=xs', donde x son los datos predictores de una observación y s es un vector de soporte.
'polynomial'Kernel data type especifica el tipo de datos para la salida de la función de kernel de polinomios G(x,s)=(1+xs')p, donde x son los datos predictores de una observación, s es un vector de soporte y p es una orden de función de kernel de polinomios.

Para obtener más información acerca de los tipos de datos, consulte Control Data Types of Signals (Simulink).

Haga clic en el botón Show data type assistant para mostrar el Data Type Assistant, que le ayudará a configurar los atributos de tipo de datos. Para obtener más información, consulte Specify Data Types Using Data Type Assistant (Simulink).

Uso programático

Parámetro de bloque: KernelDataTypeStr
Tipo: vector de caracteres
Valores: 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'uint64' | 'int64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Valor predeterminado: 'double'

Especifique el valor más bajo del intervalo de variables internas del cálculo del kernel que comprueba Simulink.

Simulink utiliza el valor mínimo para realizar:

Nota

El parámetro Kernel data type Minimum no satura ni reduce la señal del valor de cálculo de kernel actual.

Uso programático

Parámetro de bloque: KernelOutMin
Tipo: vector de caracteres
Valores: '[]' | escalar
Valor predeterminado: '[]'

Especifique el valor más alto del intervalo de variables internas del cálculo del kernel que comprueba Simulink.

Simulink utiliza el valor máximo para realizar:

Nota

El parámetro Kernel data type Maximum no satura ni reduce la señal del valor de cálculo de kernel actual.

Uso programático

Parámetro de bloque: KernelOutMax
Tipo: vector de caracteres
Valores: '[]' | escalar
Valor predeterminado: '[]'

Características del bloque

Tipos de datos

Boolean | double | fixed point | half | integer | single

Paso directo

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

Sugerencias

  • Si usa un modelo SVM lineal y tiene muchos vectores de soporte, la predicción puede ser lenta. Para predecir respuestas de manera eficaz en función de un modelo SVM lineal, elimine los vectores de soporte del objeto RegressionSVM o CompactRegressionSVM con discardSupportVectors.

Funcionalidad alternativa

Puede utilizar un bloque de funciones de MATLAB con la función de objeto predict de un objeto de regresión SVM (RegressionSVM o CompactRegressionSVM). Para ver un ejemplo, consulte Predict Class Labels Using MATLAB Function Block.

Cuando decida si utilizar el bloque RegressionSVM Predict en la biblioteca Statistics and Machine Learning Toolbox™ o el bloque MATLAB Function con la función predict, considere lo siguiente:

  • Si utiliza el bloque de biblioteca Statistics and Machine Learning Toolbox, puede utilizar la herramienta de punto fijo (Fixed-Point Designer) para convertir un modelo de punto flotante en uno de punto fijo.

  • La compatibilidad con los arreglos de tamaño variable debe activarse para un bloque de funciones de MATLAB con la función predict.

  • Si utiliza un bloque de funciones de MATLAB, puede utilizar las funciones de MATLAB para procesar previa o posteriormente después o antes de las predicciones del mismo bloque de funciones de MATLAB.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.

Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.

Historial de versiones

Introducido en R2020b

expandir todo