kfoldPredict

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

    Описание

    пример

    label = kfoldPredict(CVMdl) возвращает метки классов, предсказанные перекрестным проверенным классификатором CVMdl. Для каждой складки, kfoldPredict предсказывает метки классов для наблюдений с разбиением на валидации, используя классификатор, обученный наблюдениям с сложением обучения. CVMdl.X и CVMdl.Y содержат оба набора наблюдений.

    label = kfoldPredict(CVMdl,'IncludeInteractions',includeInteractions) задает, включать ли термины взаимодействия в расчеты. Этот синтаксис применяется только к обобщенным аддитивным моделям.

    пример

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

    [label,Score,Cost] = kfoldPredict(CVMdl) дополнительно возвращает ожидаемые затраты на неправильную классификацию для дискриминантного анализа, k - ближайшего соседа, наивных классификаторов Байеса и дерева.

    Примеры

    свернуть все

    Создайте матрицу неточностей, используя 10-кратные предсказания перекрестной валидации дискриминантной модели анализа.

    Загрузите fisheriris набор данных. X содержит измерения цветов для 150 различных цветов и y приводит список видов или классов для каждого цветка. Создайте переменную order который задает порядок классов.

    load fisheriris
    X = meas;
    y = species;
    order = unique(y)
    order = 3x1 cell
        {'setosa'    }
        {'versicolor'}
        {'virginica' }
    
    

    Создайте 10-кратную перекрестную проверенную модель дискриминантного анализа с помощью fitcdiscr функция. По умолчанию fitcdiscr гарантирует, что обучающие и тестовые наборы имеют примерно одинаковые пропорции видов цветов. Укажите порядок классов цветов.

    cvmdl = fitcdiscr(X,y,'KFold',10,'ClassNames',order);

    Предсказать вид тестового набора цветов.

    predictedSpecies = kfoldPredict(cvmdl);

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

    confusionchart(y,predictedSpecies)

    Figure contains an object of type ConfusionMatrixChart.

    Найдите предсказания перекрестной валидации для модели на основе данных радужной оболочки глаза Фишера.

    Загрузите набор данных радужки Фишера.

    load fisheriris

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

    rng(1); % For reproducibility
    t = templateTree('MaxNumSplits',1);
    Mdl = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

    Перекрестная валидация обученного ансамбля с помощью 10-кратной перекрестной валидации.

    CVMdl = crossval(Mdl);

    Оцените предсказанные метки и счета перекрестной валидации.

    [elabel,escore] = kfoldPredict(CVMdl);

    Отображение максимальных и минимальных счетов каждого класса.

    max(escore)
    ans = 1×3
    
        9.3862    8.9871   10.1866
    
    
    min(escore)
    ans = 1×3
    
        0.0018    3.8359    0.9573
    
    

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

    свернуть все

    Перекрестный проверенный секционированный классификатор, заданный как ClassificationPartitionedModel, ClassificationPartitionedEnsemble, или ClassificationPartitionedGAM объект. Можно создать объект двумя способами:

    • Передайте обученную классификационную модель, перечисленную в следующей таблице, в свою crossval функция объекта.

    • Обучите классификационную модель с помощью функции, перечисленной в следующей таблице, и задайте один из аргументов имя-значение перекрестной валидации для функции.

    Флаг для включения условий взаимодействия модели, заданный как true или false. Этот аргумент действителен только для обобщенной аддитивной модели (GAM). То есть можно задать этот аргумент только тогда, когда CVMdl является ClassificationPartitionedGAM.

    Значение по умолчанию true если модели в CVMdl (CVMdl.Trained) содержат условия взаимодействия. Значение должно быть false если модели не содержат условий взаимодействия.

    Типы данных: logical

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

    свернуть все

    Предсказанные метки классов, возвращенные как категориальный вектор, логический вектор, числовой вектор, символьный массив или массив ячеек из векторов символов. label имеет тот совпадающий тип данных и количество строк, что и CVMdl.Y. Каждая запись label соответствует предсказанной метке класса для соответствующего наблюдения в CVMdl.X.

    Если вы используете метод валидации удержания для создания CVMdl (то есть, если CVMdl.KFold является 1), затем игнорируйте label значения для обучающих-складных наблюдений. Эти значения соответствуют классу с самой высокой частотой.

    Классификационные оценки, возвращенные как n -by- K матрица, где n - количество наблюдений (size(CVMdl.X,1) когда наблюдения в строках) и K количество уникальных классов (size(CVMdl.ClassNames,1)). Классификационная оценка Score(i,j) представляет доверие в том, что iпервое наблюдение принадлежит классу j.

    Если вы используете метод валидации удержания для создания CVMdl (то есть, если CVMdl.KFold является 1), затем Score имеет NaN значения для обучающих-складных наблюдений.

    Ожидаемые затраты на неправильную классификацию, возвращенные как n-by- K матрица, где n количество наблюдений (size(CVMdl.X,1) когда наблюдения в строках) и K количество уникальных классов (size(CVMdl.ClassNames,1)). Значение Cost(i,j) - средняя стоимость неправильной классификации, связанная с прогнозированием того, что iпервое наблюдение принадлежит классу j.

    Примечание

    Если вы хотите вернуть этот выходной аргумент, CVMdl должен быть дискриминантным анализом, k - ближайшим соседом, наивным классификатором Бейеса или дерева.

    Если вы используете метод валидации удержания для создания CVMdl (то есть, если CVMdl.KFold является 1), затем Cost имеет NaN значения для обучающих-складных наблюдений.

    Алгоритмы

    kfoldPredict вычисляет предсказания, как описано в соответствующем predict функция объекта. Для описания модели смотрите соответствующее predict страницу с описанием функции в следующей таблице.

    Тип моделиpredict Функция
    Классификатор дискриминантного анализаpredict
    Классификатор ансамбляpredict
    Обобщенный классификатор аддитивной моделиpredict
    k - ближайший соседний классификаторpredict
    Наивный классификатор Байесаpredict
    Классификатор нейронной сетиpredict
    Машина опорных векторовpredict
    Двоичное дерево принятия решений для многоклассовой классификацииpredict

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

    Введенный в R2011a