CompactClassificationEnsemble

Пакет: classreg.learning.classif

Компактный класс ансамбля классификации

Описание

Компактная версия ансамбля классификации (класса ClassificationEnsemble). Компактная версия не включает данные для обучения ансамбль классификации. Поэтому вы не можете выполнить некоторые задачи с компактным ансамблем классификации, такие как перекрестная проверка. Используйте компактный ансамбль классификации в том, что он сделал прогнозы (классификации) новых данных.

Конструкция

ens = compact(fullEns) создает компактный ансамбль решения из полного ансамбля решения.

Входные параметры

fullEns

Ансамбль классификации создается fitcensemble.

Свойства

CategoricalPredictors

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

ClassNames

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

CombineWeights

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

Cost

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

ExpandedPredictorNames

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

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

NumTrained

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

PredictorNames

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

Prior

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

ResponseName

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

ScoreTransform

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

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

ens.ScoreTransform = 'function'

или

ens.ScoreTransform = @function

Trained

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

  • Если Method 'LogitBoost' или 'GentleBoost', затем CompactClassificationEnsemble хранилища обучили ученика 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.

Методы

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

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

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

Примеры

свернуть все

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

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

load ionosphere

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

Mdl = fitcensemble(X,Y,'Method','AdaBoostM1')
Mdl = 
  classreg.learning.classif.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.

CMdl = compact(Mdl)
CMdl = 
  classreg.learning.classif.CompactClassificationEnsemble
             ResponseName: 'Y'
    CategoricalPredictors: []
               ClassNames: {'b'  'g'}
           ScoreTransform: 'none'
               NumTrained: 100


  Properties, Methods

CMdl CompactClassificationEnsemble объект модели. CMdl почти то же самое как Mdl. Одним исключением является тот CMdl не хранит обучающие данные.

Сравните суммы места, занимавшего Mdl и CMdl.

mdlInfo = whos('Mdl');
cMdlInfo = whos('CMdl');
[mdlInfo.bytes cMdlInfo.bytes]
ans = 1×2

      876579      630062

Mdl занимает больше места, чем CMdl.

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

Отобразите график первого дерева в компактном ансамбле.

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

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

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

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

Советы

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

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

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

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

Введенный в R2011a