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.

Modelo de clasificación de exportación para predecir nuevos datos

Exporte el modelo al espacio de trabajo para realizar predicciones para nuevos datos

Después de crear modelos de clasificación de forma interactiva en el aprendizaje de clasificación, puede exportar el mejor modelo al área de trabajo. A continuación, puede utilizar el modelo entrenado para realizar predicciones con nuevos datos.

Nota

El modelo final de las exportaciones de clasificación de alumnos siempre se entrena utilizando el conjunto de datos completo. El esquema de validación que usa solo afecta a la forma en que la aplicación calcula las métricas de validación. Puede utilizar las métricas de validación y varios trazados que visualizan los resultados para elegir el mejor modelo para su problema de clasificación.

Estos son los pasos para exportar un modelo al espacio de trabajo:MATLAB®

  1. En el aprendizaje de clasificación, seleccione el modelo que desea exportar en la lista historial.

  2. En la pestaña, en la sección, haga clic en una de las opciones de exportación:El alumno de clasificaciónExport

    • Si desea incluir los datos utilizados para entrenar el modelo, seleccione.Export Model

      El modelo entrenado se exporta al espacio de trabajo como una estructura que contiene un objeto de clasificación, como, por ejemplo, a,,,,, etc.ClassificationTreeClassificationDiscriminantClassificationSVMClassificationNaiveBayesClassificationKNNClassificationEnsemble

    • Si no desea incluir los datos de entrenamiento, seleccione.Export Compact Model Esta opción exporta el modelo con datos innecesarios eliminados cuando sea posible. Para algunos clasificadores, se trata de un objeto de clasificación compacta que no incluye los datos de entrenamiento (p. ej.,).CompactClassificationTree Puede usar un objeto de clasificación compacto para realizar predicciones de nuevos datos, pero puede usar menos otros métodos con él.

  3. En el cuadro de diálogo Exportar modelo, edite el nombre de la variable exportada si lo desea y, a continuación, haga clic en.OK El nombre predeterminado para el modelo exportado, incrementa cada vez que se exporta para evitar sobrescribir los clasificadores, por ejemplo,.trainedModeltrainedModel1

    La nueva variable, por ejemplo, aparece en el espacio de trabajo.trainedModel

    La aplicación muestra información sobre el modelo exportado en la ventana de comandos. Lea el mensaje para aprender a hacer predicciones con nuevos datos.

Realizar predicciones para nuevos datos

Después de exportar un modelo al área de trabajo de aprendizaje de clasificación, o ejecutar el código generado desde la aplicación, obtendrá una estructura que puede usar para realizar predicciones con datos nuevos.trainedModel La estructura contiene un objeto de clasificación y una función para la predicción. La estructura permite realizar predicciones para modelos que incluyen el análisis de componentes principales (PCA).

  1. Para utilizar el clasificador exportado para realizar predicciones para nuevos datos, utilice el formulario: ¿Dónde está el nombre de la variable, por ejemplo,.T

    yfit = C.predictFcn(T)
    CtrainedModel

    Proporcione los datos en el mismo tipo de datos que los datos de entrenamiento utilizados en la aplicación (tabla o matriz).T

    • Si proporciona una tabla, asegúrese de que contiene los mismos nombres de predictor que los datos de entrenamiento. El omite las variables adicionales en las tablas.predictFcn Los formatos variables (por ejemplo, matriz o Vector, tipo de datos) deben coincidir con los datos de entrenamiento originales.

    • Si proporciona una matriz, debe contener las mismas columnas o filas predictoras que los datos de entrenamiento, en el mismo orden y formato. No incluya una variable de respuesta, ninguna de las variables que no haya importar en la aplicación u otras variables no utilizadas.

    La salida contiene una predicción de clase para cada punto de datos.yfit

  2. Examine los campos de la estructura exportada. Para obtener ayuda para realizar predicciones, escriba:

    C.HowToPredict

También puede extraer el objeto de clasificación de la estructura exportada para su posterior análisis (p. ej.,,, etc., en función del tipo de modelo).trainedModel.ClassificationSVMtrainedModel.ClassificationTree Tenga en cuenta que si ha utilizado la transformación de características como PCA en la aplicación, tendrá que tomar en consideración esta transformación utilizando la información de los campos PCA de la estructura.

Genere código para entrenar el modelo con nuevos datosMATLAB

Después de crear modelos de clasificación de forma interactiva en el aprendizaje de clasificación, puede generar código para el mejor modelo.MATLAB A continuación, puede utilizar el código para entrenar el modelo con nuevos datos.

Genere código para:MATLAB

  • Entrena en grandes conjuntos de datos. Explore los modelos de la aplicación capacitados en un subconjunto de sus datos y, a continuación, genere código para entrenar un modelo seleccionado en un conjunto de datos más grande

  • Cree scripts para los modelos de formación sin necesidad de aprender la sintaxis de las diferentes funciones

  • Examine el código para aprender a entrenar clasificadores mediante programación

  • Modifique el código para un análisis posterior, por ejemplo, para establecer opciones que no puede cambiar en la aplicación

  • Repite tu análisis en diferentes datos y automatiza el entrenamiento

  1. En el aprendizaje de clasificación, en la lista historial, seleccione el modelo para el que desea generar el código.

  2. En la pestaña, en la sección, haga clic en.El alumno de clasificaciónExportGenerate Function

    La aplicación genera código de la sesión y muestra el archivo en el editor.MATLAB El archivo incluye los predictores y la respuesta, los métodos de entrenamiento de clasificador y los métodos de validación. Guarde el archivo.

  3. Para volver a entrenar el modelo de clasificador, llame a la función desde la línea de comandos con los datos originales o los nuevos datos como el argumento de entrada. Los nuevos datos deben tener la misma forma.

    Copie la primera línea del código generado excluyendo la palabra y edite el argumento de entrada al nombre de variable de sus datos de entrenamiento o nuevos datos.functiontrainingData Por ejemplo, para volver a entrenar un clasificador entrenado con el conjunto de datos, escriba: el código generado devuelve una estructura que contiene los mismos campos que la estructura que se crea al exportar un clasificador de la clasificación Learner al área de trabajo.fisheriris

    [trainedModel, validationAccuracy] = trainClassifier(fisheriris)
    trainedModel

  4. Si desea automatizar el entrenamiento del mismo clasificador con nuevos datos o aprender a entrenar clasificadores mediante programación, examine el código generado. El código le muestra cómo:

    • Procese los datos en la forma correcta

    • Entrena un clasificador y especifica todas las opciones de clasificador

    • Realice la validación cruzada

    • Calcule la precisión de validación

    • Calcule las predicciones y puntuaciones de validación

Generar código C para predicción

Si entrena un modelo SVM con el aprendizaje de clasificación, puede generar código C para la predicción.

La generación de código C requiere:

  • MATLABCoder™ Licencia

  • Modelo SVM (binario o multiclase)

  • No hay predictores categóricos o respuesta en el conjunto de datos

  1. Después de entrenar un modelo SVM en el aprendizaje de clasificación, exporte el modelo al área de trabajo.

    Busque el nombre del objeto de modelo de clasificación en el struct exportado. Examine los campos de la estructura para buscar el nombre del modelo, por ejemplo,, donde es el nombre de la estructura, por ejemplo,.C.ClassificationSVMCtrainedModel

    El nombre del modelo depende del tipo de SVM que haya entrenado (binario o multiclase) y de si ha exportado un modelo compacto o no. Los modelos pueden ser, o.ClassificationSVMCompactClassificationSVMClassificationECOCCompactClassificationECOC

  2. Utilice la función para preparar el modelo para la generación de código:.saveCompactModelsaveCompactModel(Mdl,filename) Por ejemplo:

    saveCompactModel(C.ClassificationSVM, 'mySVM')

  3. Cree una función que cargue el modelo guardado y realice predicciones sobre nuevos datos. Por ejemplo:

    function label = classifyX (X) %#codegen  %CLASSIFYX Classify using SVM Model  %  CLASSIFYX classifies the measurements in X  %  using the SVM model in the file mySVM.mat, and then  %  returns class labels in label.  CompactMdl = loadCompactModel('mySVM');  label = predict(CompactMdl,X);  end
  4. Genere una función MEX desde su función. Por ejemplo: la Directiva Compilation indica que el código está pensado para la generación de código.

    codegen classifyX.m -args {data}
    %#codegenMATLAB Para asegurarse de que la función MEX puede utilizar la misma entrada, especifique los datos en el espacio de trabajo como argumentos para la función utilizando la opción. debe ser una matriz que contenga solo las columnas predictoras utilizadas para entrenar el modelo.-argsdata

  5. Utilice la función MEX para realizar predicciones. Por ejemplo:

    labels = classifyX_mex(data);

Si usó la selección de características o la transformación de la entidad PCA en la aplicación, necesitará pasos adicionales. Si usó la selección de características manual, proporcione las mismas columnas. es la entrada de la función.XX

Si usó PCA en la aplicación, utilice la información de los campos PCA de la estructura exportada para tener en cuenta esta transformación. No importa si importó una tabla o una matriz en la aplicación, siempre y cuando contenga las columnas de la matriz en el mismo orden.X Antes de generar el código, siga estos pasos:

  1. Guarde los campos Pcacingresa y Pcacoeficientes de la estructura de clasificador entrenado, para presentar el archivo mediante el siguiente comando:C

    save('pcaInfo.mat', '-struct', 'C', 'PCACenters', 'PCACoefficients'); 

  2. En el archivo de función, incluya líneas adicionales para realizar la transformación PCA. Cree una función que cargue el modelo guardado, realice PCA y realice predicciones sobre nuevos datos. Por ejemplo:

    function label = classifyX (X) %#codegen  %CLASSIFYX Classify using SVM Model  %  CLASSIFYX classifies the measurements in X  %  using the SVM model in the file mySVM.mat, and then  %  returns class labels in label. % If you used manual feature selection in the app, ensure that X contains only the columns you included in the model.  CompactMdl = loadCompactModel('mySVM');  pcaInfo = load('pcaInfo.mat', 'PCACenters', 'PCACoefficients');  % performs pca transformation  pcaTransformedX = bsxfun(@minus, X, pcaInfo.PCACenters) * pcaInfo.PCACoefficients; [label, scores] = predict(CompactMdl, pcaTransformedX); end

Para obtener más información sobre el flujo de trabajo de generación de código C y limitaciones, consulte.Generación de código Para ver ejemplos, vea y.saveCompactModelloadCompactModel

Implemente predicciones con MATLAB Compiler

Después de exportar un modelo al área de trabajo desde el aprendizaje de clasificación, puede implementarlo mediante MATLABCompiler™.

Suponga que exporta el modelo entrenado a Workspace según las instrucciones de, con el nombre.MATLABExportar modelo a espacio de trabajotrainedModel Para implementar predicciones, siga estos pasos.

  • Guarde la estructura en un archivo. MAT.trainedModel

    save mymodel trainedModel
  • Escriba el código que se compilará. Este código debe cargar el modelo entrenado y utilizarlo para realizar una predicción. También debe tener una pragma, por lo que el compilador reconoce que el código es necesario en la aplicación compilada.Statistics and Machine Learning Toolbox™ Esta pragma podría ser cualquier función en el cuadro de herramientas.

    function ypred = mypredict(tbl) %#function fitctree load('mymodel.mat'); load('fishertable.mat') ypred = trainedModel.predictFcn(fishertable) end
  • Compile como una aplicación independiente.

    mcc -m mypredict.m 

Consulte también

Funciones

Clases

Temas relacionados