Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

compact

Clase: RegressionSVM

Modelo de regresión de máquina vectorial de soporte compacto

Sintaxis

compactMdl = compact(mdl)

Descripción

compactMdl = compact(mdl) Devuelve un modelo de regresión de máquina de vectores de soporte (SVM) compacto, que es la versión compacta del modelo de regresión SVM completo y entrenado.compactMdlmdl

no contiene los datos de entrenamiento, mientras que contienen los datos de entrenamiento en sus propiedades y.compactMdlmdlmdl.Xmdl.Y

Argumentos de entrada

expandir todo

Modelo de regresión SVM completo y entrenado, especificado como un modelo devuelto por.RegressionSVMfitrsvm

Argumentos de salida

expandir todo

Modelo de regresión de SVM compacta, devuelta como modelo.CompactRegressionSVM

Predecir los valores de respuesta utilizando exactamente como se utiliza.compactMdlmdl Sin embargo, dado que no contiene datos de entrenamiento, no puede realizar ciertas tareas, como la validación cruzada.compactMdl

Ejemplos

expandir todo

En este ejemplo se muestra cómo reducir el tamaño de un modelo de regresión de SVM completo y entrenado descartando los datos de entrenamiento y cierta información relacionada con el proceso de formación.

En este ejemplo se utilizan los datos de abulón del repositorio de aprendizaje automático de UCI. Descargue los datos y guárdela en su directorio actual con el nombre.'abalone.data' Lea los datos en un.table

tbl = readtable('abalone.data','Filetype','text','ReadVariableNames',false); rng default  % for reproducibility

Los datos de muestra contienen 4177 observaciones. Todas las variables predictoras son continuas excepto para, que es una variable categórica con valores posibles (para machos), (para hembras), y (para bebés).sex'M''F''I' El objetivo es predecir el número de anillos en el abulón, y así determinar su edad, utilizando mediciones físicas.

Entrenar un modelo de regresión SVM utilizando una función de kernel gaussiano y una escala de kernel automática. Estandarizar los datos.

mdl = fitrsvm(tbl,'Var9','KernelFunction','gaussian','KernelScale','auto','Standardize',true)
mdl =     RegressionSVM            PredictorNames: {1x8 cell}              ResponseName: 'Var9'     CategoricalPredictors: 1         ResponseTransform: 'none'                     Alpha: [3635x1 double]                      Bias: 10.8144          KernelParameters: [1x1 struct]                        Mu: [1x10 double]                     Sigma: [1x10 double]           NumObservations: 4177            BoxConstraints: [4177x1 double]           ConvergenceInfo: [1x1 struct]           IsSupportVector: [4177x1 logical]                    Solver: 'SMO'     Properties, Methods

Compacte el modelo.

compactMdl = compact(mdl)
compactMdl =     classreg.learning.regr.CompactRegressionSVM            PredictorNames: {1x8 cell}              ResponseName: 'Var9'     CategoricalPredictors: 1         ResponseTransform: 'none'                     Alpha: [3635x1 double]                      Bias: 10.8144          KernelParameters: [1x1 struct]                        Mu: [1x10 double]                     Sigma: [1x10 double]            SupportVectors: [3635x10 double]     Properties, Methods

El modelo compactado descarta los datos de entrenamiento y cierta información relacionada con el proceso de formación.

Compare el tamaño del modelo completo y el modelo compacto.mdlcompactMdl

vars = whos('compactMdl','mdl'); [vars(1).bytes,vars(2).bytes]
ans =        323793      775968

El modelo compactado consume aproximadamente la mitad de la memoria del modelo completo.

En este ejemplo se muestra cómo reducir el consumo de memoria de un modelo de regresión SVM completo y entrenado mediante la compactación del modelo y el descarte de los vectores de soporte.

Cargue los datos de ejemplo.carsmall

load carsmall rng default  % for reproducibility

Entrenar un modelo de regresión SVM lineal utilizando como variable predictora y como variable de respuesta.WeightMPG Estandarizar los datos.

mdl = fitrsvm(Weight,MPG,'Standardize',true); 

Tenga en cuenta que contiene varios valores.MPGNaN Al entrenar un modelo, eliminará las filas que contengan valores de los datos de predictor y de respuesta.fitrsvmNaN Como resultado, el modelo entrenado utiliza sólo 94 de las 100 observaciones totales contenidas en los datos de la muestra.

Compacte el modelo de regresión para descartar los datos de entrenamiento y cierta información relacionada con el proceso de entrenamiento.

compactMdl = compact(mdl);

es un modelo que tiene los mismos parámetros, vectores de soporte y estimaciones relacionadas que, pero ya no almacena los datos de entrenamiento.compactMdlCompactRegressionSVMmdl

Descarte los vectores de soporte y las estimaciones relacionadas para el modelo compactado.

mdlOut = discardSupportVectors(compactMdl);

es un modelo que tiene los mismos parámetros que y, pero ya no almacena los vectores de soporte y las estimaciones relacionadas.mdlOutCompactRegressionSVMmdlcompactMdl

Compare los tamaños de los tres modelos de regresión de SVM, y.compactMdlmdlmdlOut

vars = whos('compactMdl','mdl','mdlOut'); [vars(1).bytes,vars(2).bytes,vars(3).bytes]
ans =          3601       13727        2305

El modelo compactado consume 3601 bytes de memoria, mientras que el modelo completo consume 13727 bytes de memoria.compactMdlmdl El modelo, que también descarta los vectores de soporte, consume 2305 bytes de memoria.mdlOut

Referencias

[1] Nash, W.J., T. L. Sellers, S. R. Talbot, A. J. Cawthorn, and W. B. Ford. The Population Biology of Abalone (Haliotis species) in Tasmania. I. Blacklip Abalone (H. rubra) from the North Coast and Islands of Bass Strait, Sea Fisheries Division, Technical Report No. 48, 1994.

[2] Waugh, S. Extending and benchmarking Cascade-Correlation, Ph.D. thesis, Computer Science Department, University of Tasmania, 1995.

[3] Clark, D., Z. Schreter, A. Adams. A Quantitative Comparison of Dystal and Backpropagation, submitted to the Australian Conference on Neural Networks, 1996.

[4] Lichman, M. UCI Machine Learning Repository, [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.

Introducido en R2015b