ClassificationEnsemble

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

Классификатор ансамбля

Описание

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

Конструкция

Создайте использование объекта ансамбля классификации 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 содержит значения индекса, указывающие, что соответствующие предикторы являются категориальными. Значения индекса между 1 и p, где p количество предикторов, используемых, чтобы обучить модель. Если ни один из предикторов не является категориальным, то это свойство пусто ([]).

ClassNames

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

CombineWeights

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

Cost

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

ExpandedPredictorNames

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

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

FitInfo

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

FitInfoDescription

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

HyperparameterOptimizationResults

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

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

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

LearnerNames

Массив ячеек из символьных векторов с именами слабых учеников в ансамбле. Имя каждого ученика появляется только однажды. Например, если у вас есть ансамбль 100 деревьев, LearnerNames {'Tree'}.

Method

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

ModelParameters

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

NumObservations

Числовой скаляр, содержащий количество наблюдений в обучающих данных.

NumTrained

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

PredictorNames

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

Prior

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

ReasonForTermination

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

ResponseName

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

ScoreTransform

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

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

ens.ScoreTransform = 'function'

или

ens.ScoreTransform = @function

Trained

Вектор ячейки из обученных моделей классификации.

  • Если Method 'LogitBoost' или 'GentleBoost', затем ClassificationEnsemble хранилища обучили ученика j в CompactRegressionLearner свойство объекта, хранившего в Обученном {j}. Таким образом, чтобы получить доступ к обученному ученику j, используйте сущность. Обученный {j}.CompactRegressionLearner.

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

TrainedWeights

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

UsePredForLearner

Логическая матрица размера P- NumTrained, где P количество предикторов (столбцы) в обучающих данных X. UsePredForLearner(i,j) true когда ученик j предиктор использования i, и false в противном случае. Для каждого ученика предикторы имеют тот же порядок как столбцы в обучающих данных X.

Если ансамбль не имеет типа Subspace, все записи в UsePredForLearner true.

W

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

X

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

Y

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

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

compactКомпактный ансамбль классификации
compareHoldoutСравните точность двух моделей классификации с помощью новых данных
crossvalПерекрестный подтвердите ансамбль
edgeРебро классификации
gatherСоберите свойства объекта Statistics and Machine Learning Toolbox от графического процессора
limeЛокальные поддающиеся толкованию объяснения модели агностические (LIME)
lossОшибка классификации
marginПоля классификации
partialDependenceВычислите частичную зависимость
plotPartialDependenceСоздайте графики отдельного условного ожидания (ICE) и частичный график зависимости (PDP)
predictКлассифицируйте ансамбль использования наблюдений моделей классификации
predictorImportanceОценки важности предиктора для ансамбля классификации деревьев решений
resubEdgeРебро классификации перезаменой
resubLossОшибка классификации перезаменой
resubMarginПоля классификации перезаменой
resubPredictКлассифицируйте наблюдения на ансамбль моделей классификации
resumeВозобновите учебный ансамбль
shapleyШепли оценивает
testckfoldСравните точность двух моделей классификации повторной перекрестной проверкой

Примеры

свернуть все

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

load ionosphere

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

Mdl = fitcensemble(X,Y,'Method','AdaBoostM1')
Mdl = 
  ClassificationEnsemble
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'b'  'g'}
           ScoreTransform: 'none'
          NumObservations: 351
               NumTrained: 100
                   Method: 'AdaBoostM1'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.'
                  FitInfo: [100x1 double]
       FitInfoDescription: {2x1 cell}


  Properties, Methods

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

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

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

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

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 36 objects of type line, text.

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

Предскажите метку среднего значения X.

predMeanX = predict(Mdl,mean(X))
predMeanX = 1x1 cell array
    {'g'}

Советы

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

  • представление (сущность. Обученный {t}.CompactRegressionLearner) поскольку ансамбли агрегировали использование LogitBoost или GentleBoost.

  • представление (сущность. Обученный {t}) для всех других методов агрегации.

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

Введенный в R2011a