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

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

NTrainedPerFold

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

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

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

Y

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

Методы

kfoldEdgeРебро классификации для наблюдений, не используемых в обучении
kfoldLossПотеря классификации для наблюдений, не используемых в обучении
резюмеВозобновите учебных учеников на сгибах перекрестной проверки

Унаследованные методы

kfoldEdgeРебро классификации для наблюдений, не используемых в обучении
kfoldLossПотеря классификации для наблюдений, не используемых в обучении
kfoldMarginПоля классификации для наблюдений, не используемых в обучении
kfoldPredictПредскажите ответ для наблюдений, не используемых в обучении
kfoldfunКрест подтверждает функцию

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

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

свернуть все

Оцените ошибку перекрестной проверки 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.0467