ClassificationBaggedEnsemble

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

Ансамбль классификации, выращенный путем передискретизации

Описание

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

Конструкция

Создайте сложенный в мешок объект ансамбля классификации использование fitcensemble. Установите аргумент пары "имя-значение" 'Method' из fitcensemble к 'Bag' использовать агрегацию начальной загрузки (укладывание в мешки, например, случайный лес).

Свойства

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. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)

CombineWeights

Вектор символов, описывающий, как ens комбинирует слабые веса ученика, любой 'WeightedSum' или 'WeightedAverage'.

ExpandedPredictorNames

Расширенные имена предиктора, сохраненные как массив ячеек из символьных векторов.

Если кодирование использования модели для категориальных переменных, то ExpandedPredictorNames включает имена, которые описывают расширенные переменные. В противном случае, ExpandedPredictorNames совпадает с PredictorNames.

FitInfo

Числовой массив подходящей информации. FitInfoDescription свойство описывает содержимое этого массива.

FitInfoDescription

Вектор символов, описывающий значение FitInfo массив.

FResample

Числовой скаляр между 0 и 1. FResample часть обучающих данных fitcensemble передискретизируемый наугад для каждого слабого ученика при построении ансамбля.

HyperparameterOptimizationResults

Описание оптимизации перекрестной проверки гиперпараметров, сохраненных как BayesianOptimization возразите или таблица гиперпараметров и присваиваемых значений. Непустой, когда OptimizeHyperparameters пара "имя-значение" непуста при создании. Значение зависит от установки HyperparameterOptimizationOptions пара "имя-значение" при создании:

  • 'bayesopt' (значение по умолчанию) — Объект класса BayesianOptimization

  • 'gridsearch' или 'randomsearch' — Таблица гиперпараметров используемые, наблюдаемые значения целевой функции (потеря перекрестной проверки), и ранг наблюдений от самого низкого (лучше всего) к (худшему) самому высокому

Method

Вектор символов, описывающий метод, который создает ens.

ModelParameters

Параметры используются в учебном ens.

NumTrained

Количество обученных слабых учеников в ens, скаляр.

PredictorNames

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

ReasonForTermination

Вектор символов, описывающий причину fitcensemble остановленные добавляющие слабые ученики ансамблю.

Replace

Логическое значение, указывающее, был ли ансамбль обучен с заменой (true) или без замены (false).

ResponseName

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

ScoreTransform

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

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

ens.ScoreTransform = 'function'

или

ens.ScoreTransform = @function

Trained

Обученные ученики, массив ячеек компактных моделей классификации.

TrainedWeights

Числовой вектор обученных весов для слабых учеников в ens. TrainedWeights имеет T элементы, где T количество слабых учеников в learners.

UseObsForLearner

Логическая матрица размера N- NumTrained, где N количество наблюдений в обучающих данных и NumTrained количество обученных слабых учеников. UseObsForLearner(I,J) true если наблюдение I использовался в учебном ученике J, и false в противном случае.

W

Масштабированный weights, вектор с длиной n, количество строк в X. Сумма элементов W 1.

X

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

Y

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

Методы

oobEdgeРебро классификации из сумки
oobLossОшибка классификации из сумки
oobMarginПоля классификации из сумки
oobPermutedPredictorImportanceВажность предиктора оценивает сочетанием наблюдений предиктора из сумки для случайного леса деревьев классификации
oobPredictПредскажите ответ из сумки ансамбля

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

компактныйКомпактный ансамбль классификации
crossvalКрест подтверждает ансамбль
resubEdgeРебро классификации перезаменой
resubLossОшибка классификации перезаменой
resubMarginПоля классификации перезаменой
resubPredictКлассифицируйте наблюдения на ансамбль моделей классификации
резюмеВозобновите учебный ансамбль
реброРебро классификации
потеряОшибка классификации
полеПоля классификации
предсказатьКлассифицируйте ансамбль использования наблюдений моделей классификации
predictorImportanceОценки важности предиктора для ансамбля классификации деревьев решений
removeLearnersУдалите членов компактного ансамбля классификации

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

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

Примеры

свернуть все

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

load ionosphere

Можно обучить уволенный ансамбль 100 деревьев классификации с помощью всех измерений.

Mdl = fitcensemble(X,Y,'Method','Bag')

fitcensemble использует объект templateTree() дерева шаблона по умолчанию как слабый ученик, когда 'Method' 'Bag'. В этом примере, для воспроизводимости, задают 'Reproducible',true когда вы создаете древовидный объект шаблона, и затем используете объект в качестве слабого ученика.

rng('default') % For reproducibility
t = templateTree('Reproducible',true); % For reproducibiliy of random predictor selections
Mdl = fitcensemble(X,Y,'Method','Bag','Learners',t)
Mdl = 
  classreg.learning.classif.ClassificationBaggedEnsemble
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'b'  'g'}
           ScoreTransform: 'none'
          NumObservations: 351
               NumTrained: 100
                   Method: 'Bag'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.'
                  FitInfo: []
       FitInfoDescription: 'None'
                FResample: 1
                  Replace: 1
         UseObsForLearner: [351x100 logical]


  Properties, Methods

Mdl ClassificationBaggedEnsemble объект модели.

Mdl.Trained свойство, которое хранит 100 1 вектор ячейки обученных деревьев классификации (CompactClassificationTree объекты модели), которые составляют ансамбль.

Постройте график первого обученного дерева классификации.

view(Mdl.Trained{1},'Mode','graph')

По умолчанию, fitcensemble выращивает глубокие деревья решений для уволенных ансамблей.

Оцените misclassification уровень в выборке.

L = resubLoss(Mdl)
L = 0

L 0, который указывает на тот Mdl совершенно при классификации обучающих данных.

Советы

Для уволенного ансамбля деревьев классификации, Trained свойство ens хранит вектор ячейки ens.NumTrained CompactClassificationTree объекты модели. Для текстового или графического дисплея древовидного t в векторе ячейки войти

view(ens.Trained{t})

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

Введенный в R2011a