Main Content

La traducción de esta página está obsoleta. 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 apoyo (SVM)

  • Biblioteca:
  • 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.

Dependencias

  • Las variables en x deben tener el mismo orden que las variables de predictor que formaron el modelo SVM especificado por Select trained machine learning model.

  • 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, procese previamente los predictores categóricos 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 con una función de redondeo de MATLAB® en el campo de máscara.

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).

Quiere 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 desborde que causa un valor 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)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Valor predeterminado: 'Inherit: auto'

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 minimum no satura ni reduce la señal yfit real. 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: '[]'

Valor más alto del intervalo de salida yfit que Simulink comprueba.

Simulink utiliza el valor mínimo para realizar:

Nota

El parámetro Output maximum no satura ni reduce la señal yfit real. 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)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Valor predeterminado: 'double'

Valor más bajo del rango de la variable interna de cálculo del kernel que comprueba Simulink.

Simulink utiliza el valor mínimo para realizar:

Nota

El parámetro Kernel 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: '[]'

Valor superior del rango de la variable interna de cálculo del kernel que comprueba Simulink.

Simulink utiliza el valor máximo para realizar:

Nota

El parámetro Kernel 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 de funciones de MATLAB 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.

Consideraciones de compatibilidad

expandir todo

El comportamiento cambió en R2021a

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™.

Introducido en R2020b