ClassificationEnsemble

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

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

Описание

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

Конструкция

Создайте объект ансамбля классификации с помощью fitcensemble.

Свойства

BinEdges

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

Программное обеспечение помещает числовые предикторы только, если вы задаете 'NumBins' аргумент имя-значение как положительный целочисленный скаляр при обучении модели с учениками дерева. The 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 значения NaNс.

CategoricalPredictors

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

ClassNames

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

CombineWeights

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

Cost

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

ExpandedPredictorNames

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

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

FitInfo

Числовой массив информации о подгонке. The 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, используйте ens. Обучен {j}.CompactRegressionLearner.

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

TrainedWeights

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

UsePredForLearner

Логическая матрица размера P-by- 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Сравните точности двух классификационных моделей с помощью новых данных
crossvalCross validate ансамбль
edgeКлассификационное ребро
limeЛокальные интерпретируемые модели-агностические объяснения (LIME)
lossОшибка классификации
marginКлассификационные поля
partialDependenceВычисление частичной зависимости
plotPartialDependenceСоздайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE)
predictКлассифицируйте наблюдения с помощью ансамбля классификационных моделей
predictorImportanceОценки предикторной важности для классификационного ансамбля деревьев решений
removeLearnersУдаление представителей компактного классификационного ансамбля
resubEdgeКлассификационное ребро путем реподституции
resubLossОшибка классификации путем реподституции
resubMarginКлассификационные погрешности путем реподституции
resubPredictКлассификация наблюдений в ансамбле классификационных моделей
resumeВозобновить обучение ансамбля
shapleyЗначения 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 and other objects of type uimenu, uicontrol. The axes contains 36 objects of type line, text.

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

Спрогнозируйте метку среднего значения X.

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

Совет

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

  • view (ens.Trained {t}.CompactRegressionLearner) для ансамблей, агрегированных с использованием LogitBoost или GentleBoost.

  • view (ens.Trained {t}) для всех других методов агрегации.

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

.
Введенный в R2011a