exponenta event banner

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) при наблюдениях в строках) и К - количество уникальных классов (size(CVMdl.ClassNames,1)). Оценка классификации Score(i,j) представляет уверенность, что i-е наблюдение относится к классу j.

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

    Ожидаемые затраты на неправильную классификацию, возвращаемые в виде матрицы n-by-K, где n - количество наблюдений (size(CVMdl.X,1) при наблюдениях в строках) и К - количество уникальных классов (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