predict

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

Описание

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

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

[labels,score] = predict(___) также возвращает матрицу баллов классификации (score), указывая на вероятность, что метка прибывает из конкретного класса, с помощью любого из входных параметров в предыдущих синтаксисах. Для каждого наблюдения в 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)

score

Матрица A с одной строкой на наблюдение и одним столбцом в классе. Для каждого наблюдения и каждого класса, счет, сгенерированный каждым деревом, является вероятностью этого наблюдения, происходящего из этого класса, вычисленного как часть наблюдений за этим классом в древовидном листе. predict составляет в среднем эти баллы по всем деревьям в ансамбле.

Примеры

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

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

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

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

Больше о

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

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

Введенный в R2011a