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.

selectModels

Elija un subconjunto de modelos ECOC multiclase compuestos de estudiantes binariosClassificationLinear

Descripción

ejemplo

SubMdl = selectModels(Mdl,idx) Devuelve un subconjunto de modelos entrenados de códigos de salida de corrección de errores (ECOC) compuestos por modelos binarios de un conjunto de modelos ECOC de varias clases () formados utilizando diversas fortalezas de regularización.ClassificationLinearMdl Los índices () corresponden a las fortalezas de regularización y especifican qué modelos devolver.idxMdl.BinaryLearners{1}.Lambda

se devuelve como un objeto de modelo.SubMdlCompactClassificationECOC

Ejemplos

contraer todo

Elija un subconjunto de modelos ECOC capacitados formados por estudiantes binarios lineales con diversas fortalezas de regularización.

Cargue el conjunto de datos NLP.

load nlpdata

es una matriz dispersa de Datos predictores y es un vector categórico de etiquetas de clase.XY

Cree un conjunto de 11 puntos fuertes de regularización logarmicamente espaciados de

<math display="block">
<mrow>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>8</mn>
</mrow>
</msup>
</mrow>
</math>
a través de
<math display="block">
<mrow>
<mn>1</mn>
<msup>
<mrow>
<mn>0</mn>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
</math>
.

Lambda = logspace(-8,-1,11);

Cree una plantilla de modelo de clasificación lineal que especifique la optimización de la función objetivo mediante SpaRSA. Utilice las sanciones de lazo con las fortalezas especificadas en.Lambda

t = templateLinear('Solver','sparsa','Regularization','lasso',...     'Lambda',Lambda);

Mantenga el 30% de los datos para las pruebas. Identifique los índices de muestreo de prueba.

rng(1); % For reproducibility cvp = cvpartition(Y,'Holdout',0.30); idxTest = test(cvp);

Entrenar un modelo ECOC compuesto por modelos de clasificación lineal. Para un tiempo de ejecución más rápido, Oriente los Datos predictores para que las observaciones individuales correspondan a las columnas.

X = X'; PMdl = fitcecoc(X,Y,'Learners',t,'ObservationsIn','columns','CVPartition',cvp); Mdl = PMdl.Trained{1}; numel(Mdl.BinaryLearners{1}.Lambda)
ans = 11 

es un objeto de modelo.MdlCompactClassificationECOC Debido a que es un vector de 11 dimensiones de las fortalezas de regularización, se puede pensar en como once modelos entrenados, cada uno correspondiente a una fuerza de regularización.LambdaMdl

Calcule las tasas de clasificación errónea de muestras de prueba para cada modelo regularizado.

ce = loss(Mdl,X(:,idxTest),Y(idxTest),'ObservationsIn','columns');

Trace las tasas de clasificación errónea con respecto a la fuerza de regularización en la escala logaritmo.

figure plot(log10(Lambda),log10(ce),'-o') ylabel('log_{10} misclassification rates') xlabel('log_{10} Lambda') [~,minCEIdx] = min(ce); minLambda = Lambda(minCEIdx); hold on plot(log10(minLambda),log10(ce(minCEIdx)),'ro'); hold off

Varios valores de rendimiento de forma similar pequeños valores de error de clasificación.Lambda Considere la posibilidad de elegir valores mayores de (que todavía producen buenas tasas de clasificación) porque conducen a la dispersión variable predictora.Lambda

Seleccione los cuatro modelos con las fortalezas de regularización que ocurren alrededor del punto en el cual el error de clasificación comienza a aumentar.

idx = 7:10; MdlFinal = selectModels(Mdl,idx)
MdlFinal =    classreg.learning.classif.CompactClassificationECOC       ResponseName: 'Y'         ClassNames: [comm    dsp    ecoder    fixedpoint    hdlcoder    phased    physmod    simulink    stats    supportpkg    symbolic    vision    xpc]     ScoreTransform: 'none'     BinaryLearners: {78×1 cell}       CodingMatrix: [13×78 double]     Properties, Methods  
LambdaFinal = MdlFinal.BinaryLearners{1}.Lambda
LambdaFinal = 1×4

    0.0002    0.0008    0.0040    0.0200

es un objeto de modelo.MdlFinalCompactClassificationECOC Usted puede pensar en ello como cuatro modelos entrenados utilizando las cuatro fortalezas de regularización en.LambdaFinal

Argumentos de entrada

contraer todo

Modelo ECOC multiclase compuesto de clasificadores lineales binarios, formados utilizando diversas fortalezas de regularización, especificados como un objeto modelo.CompactClassificationECOC

Al crear, debe:Mdl

  • Uso.fitcecoc

  • Especifique los alumnos binarios (consulte).ClassificationLinearLearners

  • Especifique las mismas fortalezas de regularización para cada alumno binario lineal.

Aunque es un objeto de modelo, si = ≥ 2, entonces se puede pensar en modelos entrenados.Mdlnumel(Mdl.BinaryLearners{1}.Lambda)LMdlL

Índices correspondientes a las fortalezas de regularización, especificadas como un vector entero positivo. Los valores de deben estar en el intervalo [1,], donde =.idxLLnumel(Mdl.BinaryLearners{1}.Lambda)

Tipos de datos: double | single

Sugerencias

  • Una forma de crear varios modelos de ECOC predictivos compuestos de modelos de clasificación lineal binaria es:

    1. Cree una plantilla de modelo de clasificación lineal utilizando y especifique una cuadrícula de fortalezas de regularización mediante el argumento de par nombre-valor.templateLinear'Lambda'

    2. Mantenga una parte de los datos para realizar pruebas.

    3. Entrenar un modelo ECOC utilizando.fitcecoc Especifique la plantilla mediante el argumento de par nombre-valor y proporcione los datos de entrenamiento. Devuelve un objeto de modelo que contiene los alumnos binarios, pero todos los alumnos binarios contienen un modelo para cada fuerza de regularización.'Learners'fitcecocCompactClassificationECOCClassificationLinear

    4. Para determinar la calidad de cada modelo regularizado, pase el objeto de modelo devuelto y los datos retenidos a, por ejemplo,.loss

    5. Identifique los índices () de un subconjunto satisfactorio de modelos regularizados y, a continuación, pase el modelo devuelto y los índices a.idxselectModels La función devuelve un objeto de modelo, pero contiene modelos regularizados.selectModelsCompactClassificationECOCnumel(idx)

    6. Para predecir etiquetas de clase para nuevos datos, transfiera los datos y el subconjunto de modelos regularizados a.Predecir

Introducido en R2016a