exponenta event banner

ClassificationPartitionedEnsemble

Пакет: classreg.learning.partition
Суперклассы: ClassificationPartitionedModel

Перекрестно проверенный классификационный ансамбль

Описание

ClassificationPartitionedEnsemble представляет собой набор классификационных ансамблей, обученных на перекрестно проверенных складках. Оценка качества классификации путем перекрестной проверки с использованием одного или нескольких методов «kfold»: kfoldPredict, kfoldLoss, kfoldMargin, kfoldEdge, и kfoldfun.

Каждый метод «kfold» использует модели, обученные на кратных наблюдениях, для прогнозирования ответа на внеплановые наблюдения. Например, предположим, что выполняется перекрестная проверка с использованием пяти сгибов. В этом случае каждая тренировочная складка содержит примерно 4/5 данных, а каждая тестовая складка содержит примерно 1/5 данных. Первая модель, сохраненная в Trained{1} был обучен X и Y с исключением первой 1/5, вторая модель хранится в Trained{2} был обучен X и Y с исключением второй 1/5 и так далее. При звонке kfoldPredict, он вычисляет прогнозы для первой 1/5 данных с использованием первой модели, для второй 1/5 данных с использованием второй модели и так далее. Короче говоря, ответ для каждого наблюдения вычисляется kfoldPredict использование модели, обученной без этого наблюдения.

Строительство

cvens = crossval(ens) создает перекрестно проверенный ансамбль из ens, классификационный ансамбль. Дополнительные сведения о синтаксисе см. в разделе crossval страница ссылки на метод.

cvens = fitcensemble(X,Y,Name,Value) создает перекрестно проверенный ансамбль, когда Name является одним из 'CrossVal', 'KFold', 'Holdout', 'Leaveout', или 'CVPartition'. Дополнительные сведения о синтаксисе см. в разделе fitcensemble страница ссылки на функцию.

Свойства

BinEdges

Ребра ячеек для числовых предикторов, заданные как массив ячеек из p числовых векторов, где p - число предикторов. Каждый вектор включает в себя края ячейки для числового предсказателя. Элемент в массиве ячеек для категориального предиктора пуст, поскольку программное обеспечение не содержит категориальных предикторов.

Программа содержит числовые предикторы только при указании 'NumBins' аргумент «имя-значение» в качестве положительного целого скаляра при обучении модели с учащимися дерева. BinEdges пустое свойство, если 'NumBins' пустое значение (по умолчанию).

Можно воспроизвести привязанные данные предиктора Xbinned с помощью BinEdges свойство обучаемой модели mdl.

X = mdl.X; % Predictor data
Xbinned = zeros(size(X));
edges = mdl.BinEdges;
% Find indices of binned predictors.
idxNumeric = find(~cellfun(@isempty,edges));
if iscolumn(idxNumeric)
    idxNumeric = idxNumeric';
end
for j = idxNumeric 
    x = X(:,j);
    % Convert x to array if x is a table.
    if istable(x) 
        x = table2array(x);
    end
    % Group x into bins by using the discretize function.
    xbinned = discretize(x,[-inf; edges{j}; inf]); 
    Xbinned(:,j) = xbinned;
end
Xbinned содержит индексы ячеек в диапазоне от 1 до числа ячеек для числовых предикторов. Xbinned значения равны 0 для категориальных предикторов. Если X содержит NaNs, затем соответствующее Xbinned значения NaNs.

CategoricalPredictors

Индексы категориального предиктора, указанные как вектор положительных целых чисел. CategoricalPredictors содержит значения индекса, соответствующие столбцам данных предиктора, которые содержат категориальные предикторы. Если ни один из предикторов не категоричен, то это свойство пустое ([]).

ClassNames

Список элементов в Y с удаленными дубликатами. ClassNames может быть числовым вектором, вектором категориальных переменных, логическим вектором, символьным массивом или массивом ячеек символьных векторов. ClassNames имеет тот же тип данных, что и данные в аргументе Y. (Программа рассматривает строковые массивы как массивы ячеек символьных векторов.)

Combiner

Массив ячеек объединителей по всем складкам.

Cost

Квадратная матрица, где Cost(i,j) - стоимость классификации точки по классу j если его истинный класс i (строки соответствуют истинному классу, а столбцы соответствуют прогнозируемому классу). Порядок строк и столбцов Cost соответствует порядку классов в ClassNames. Количество строк и столбцов в Cost - количество уникальных классов в ответе. Это свойство доступно только для чтения.

CrossValidatedModel

Имя перекрестно проверенной модели, символьный вектор.

KFold

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

ModelParameters

Параметры хранения объекта cvens.

NumObservations

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

NumTrainedPerFold

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

Partition

Раздел класса cvpartition используется при создании перекрестно проверенного ансамбля.

PredictorNames

Массив ячеек имен для переменных предиктора в порядке их появления в X.

Prior

Числовой вектор предшествующих вероятностей для каждого класса. Порядок элементов Prior соответствует порядку классов в ClassNames. Количество элементов Prior - количество уникальных классов в ответе. Это свойство доступно только для чтения.

ResponseName

Имя переменной ответа Y, вектор символов.

ScoreTransform

Дескриптор функции для преобразования баллов или символьного вектора, представляющего встроенную функцию преобразования. 'none' означает отсутствие трансформации; эквивалентно, 'none' средства @(x)x. Список встроенных функций преобразования и синтаксис пользовательских функций преобразования см. в разделе fitctree.

Добавить или изменить ScoreTransform функция, использующая точечную нотацию:

ens.ScoreTransform = 'function'

или

ens.ScoreTransform = @function

Trainable

Клеточный массив ансамблей, обученных складкам перекрестной проверки. Каждый ансамбль полон, то есть содержит свои тренировочные данные и веса.

Trained

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

W

Чешуйчатый weights, вектор с длиной n, количество строк в X.

X

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

Y

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

Функции объекта

kfoldEdgeКрай классификации для перекрестно проверенной модели классификации
kfoldLossПотеря классификации для перекрестно проверенной модели классификации
kfoldMarginПоля классификации для перекрестно проверенной модели классификации
kfoldPredictКлассификация наблюдений в перекрестно проверенной модели классификации
kfoldfunФункция перекрестной проверки для классификации
resumeВозобновление обучения учащихся складкам перекрестной проверки

Копирование семантики

Значение. Сведения о том, как классы значений влияют на операции копирования, см. в разделе Копирование объектов.

Примеры

свернуть все

Оцените k-кратную ошибку перекрестной проверки для классификационного ансамбля, который моделирует данные радужки Фишера.

Загрузите набор данных образца.

load fisheriris

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

t = templateTree('MaxNumSplits',1); % Weak learner template tree object
ens = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

Создание перекрестно проверенного ансамбля из ens и найдите k-кратную ошибку перекрестной проверки.

rng(10,'twister') % For reproducibility
cvens = crossval(ens);
L = kfoldLoss(cvens)
L = 0.0533