predict

Классифицируйте ансамбль использования наблюдений моделей классификации

Описание

labels = predict(Mdl,X) возвращает вектор из предсказанных меток класса для данных о предикторе в таблице или матричном X, на основе полного или компактного, обученного ансамбля классификации Mdl.

labels = predict(Mdl,X,Name,Value) дополнительные опции использования заданы одним или несколькими Name,Value парные аргументы.

[labels,scores] = predict(___) также возвращает матрицу классификационных оценок (scores), указывая на вероятность, что метка прибывает из конкретного класса, с помощью любого из входных параметров в предыдущих синтаксисах. Для каждого наблюдения в X, предсказанная метка класса соответствует максимальному счету среди всех классов.

Входные параметры

Mdl

Ансамбль классификации, созданный fitcensemble или компактный ансамбль классификации создается compact.

X

Данные о предикторе, которые будут классифицированы в виде числовой матрицы или таблицы.

Каждая строка X соответствует одному наблюдению, и каждый столбец соответствует одной переменной.

  • Для числовой матрицы:

    • Переменные, составляющие столбцы X должен иметь тот же порядок как переменные предикторы, которые обучили Mdl.

    • Если вы обучили Mdl с помощью таблицы (например, Tbl), затем X может быть числовая матрица если Tbl содержит все числовые переменные предикторы. Обрабатывать числовые предикторы в Tbl как категориальные во время обучения, идентифицируйте категориальные предикторы с помощью CategoricalPredictors аргумент пары "имя-значение" fitcensemble. Если Tbl содержит неоднородные переменные предикторы (например, типы числовых и категориальных данных) и X числовая матрица, затем predict выдает ошибку.

  • Для таблицы:

    • predict не поддерживает многостолбцовые переменные или массивы ячеек кроме массивов ячеек из символьных векторов.

    • Если вы обучили Mdl с помощью таблицы (например, Tbl), затем все переменные предикторы в X должен иметь те же имена переменных и быть совпадающих типов данных как те, которые обучили Mdl (сохраненный в Mdl.PredictorNames). Однако порядок следования столбцов X не должен соответствовать порядку следования столбцов Tbltbl и X может содержать дополнительные переменные (переменные отклика, веса наблюдения, и т.д.), но predict игнорирует их.

    • Если вы обучили Mdl с помощью числовой матрицы затем предиктор называет в Mdl.PredictorNames и соответствующий переменный предиктор называет в X должно быть то же самое. Чтобы задать имена предиктора во время обучения, смотрите PredictorNames аргумент пары "имя-значение" fitcensemble. Все переменные предикторы в X должны быть числовые векторы. X может содержать дополнительные переменные (переменные отклика, веса наблюдения, и т.д.), но predict игнорирует их.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Learners

Индексы слабых учеников predict использование для расчета ответов, числового вектора.

Значение по умолчанию: 1:T, где T количество слабых учеников в Mdl

UseObsForLearner

Логическая матрица размера N- T, где:

  • N количество строк X.

  • T количество слабых учеников в Mdl.

Когда UseObsForLearner(i,j) true, ученик j используется в предсказании класса строки i из X.

Значение по умолчанию: true(N,T)

Выходные аргументы

labels

Вектор из меток классификации. labels имеет совпадающий тип данных как метки, используемые в учебном Mdl. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)

scores

Матрица A с одной строкой на наблюдение и одним столбцом в классе. Для каждого наблюдения и каждого класса, счет представляет доверие, что наблюдение происходит из того класса. Более высокий счет указывает на более высокое доверие. Для получения дополнительной информации смотрите Счет (ансамбль).

Примеры

развернуть все

Загрузите ирисовый набор данных Фишера. Определите объем выборки.

load fisheriris
N = size(meas,1);

Разделите данные в наборы обучающих данных и наборы тестов. Протяните 10% данных для тестирования.

rng(1); % For reproducibility
cvp = cvpartition(N,'Holdout',0.1);
idxTrn = training(cvp); % Training set indices
idxTest = test(cvp);    % Test set indices

Храните обучающие данные в таблице.

tblTrn = array2table(meas(idxTrn,:));
tblTrn.Y = species(idxTrn);

Обучите ансамбль классификации, использующий AdaBoostM2 и набор обучающих данных. Задайте пни как слабых учеников.

t = templateTree('MaxNumSplits',1);
Mdl = fitcensemble(tblTrn,'Y','Method','AdaBoostM2','Learners',t);

Предскажите метки для набора тестов. Вы обучили модель с помощью таблицы данных, но можно предсказать метки с помощью матрицы.

labels = predict(Mdl,meas(idxTest,:));

Создайте матрицу беспорядка для набора тестов.

confusionchart(species(idxTest),labels)

Figure contains an object of type ConfusionMatrixChart.

Mdl неправильно классифицирует одну ирисовую диафрагму versicolor как virginica в наборе тестов.

Больше о

развернуть все

Альтернативная функциональность

Блок Simulink

Интегрировать предсказание ансамбля в Simulink®, можно использовать блок ClassificationEnsemble Predict в библиотеке Statistics and Machine Learning Toolbox™ или MATLAB® Функциональный блок с predict функция. Для примеров смотрите, Предсказывают, что Класс Маркирует Using ClassificationEnsemble Predict Block и Predict Class Labels Using MATLAB Function Block.

При решении, который подход использовать, рассмотрите следующее:

  • Если вы используете библиотечный блок Statistics and Machine Learning Toolbox, можно использовать Fixed-Point Tool (Fixed-Point Designer), чтобы преобразовать модель с плавающей точкой в фиксированную точку.

  • Поддержка массивов переменного размера должна быть включена для блока MATLAB function с predict функция.

  • Если вы используете блок MATLAB function, можно использовать функции MATLAB для предварительной обработки или последующей обработки прежде или после предсказаний в том же блоке MATLAB function.

Расширенные возможности

Введенный в R2011a