exponenta event banner

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

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 свойство объекта, сохраненного в Trained{j}. То есть получить доступ к обучаемому j, использовать ens.Trained{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Край классификации
limeЛокальные интерпретируемые модели-агностические объяснения (LIME)
lossОшибка классификации
marginПоля классификации
partialDependenceВычислить частичную зависимость
plotPartialDependenceСоздание графиков частичной зависимости (PDP) и индивидуального условного ожидания (ICE)
predictКлассифицировать наблюдения с использованием совокупности классификационных моделей
predictorImportanceОценки важности предиктора для классификационного ансамбля деревьев решений
removeLearnersУдалить элементы компактного классификационного ансамбля
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 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-по-1 клеточный вектор компактных классификационных моделей. Для текстового или графического отображения дерева t в векторе ячейки введите:

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

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

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

.
Представлен в R2011a