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 объекта, хранившего в Trained{j}. Таким образом, чтобы получить доступ к обученному ученику j, используйте ens.Trained{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.

Методы

реброРебро классификации
потеряОшибка классификации
полеПоля классификации
предсказатьКлассифицируйте ансамбль использования наблюдений моделей классификации
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

      854831      608752

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-by-1 вектор ячейки компактных моделей классификации. Для текстового или графического дисплея древовидного t в векторе ячейки, введите:

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

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

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

Введенный в R2011a