hyperparameters

Описания переменной для оптимизации подходящей функции

Описание

пример

VariableDescriptions = hyperparameters(FitFcnName,predictors,response) возвращает переменные по умолчанию для данной подходящей функции. Это переменные, которые применяются, когда вы устанавливаете OptimizeHyperparameters пара "имя-значение" к 'auto'.

пример

VariableDescriptions = hyperparameters(FitFcnName,predictors,response,LearnerType) возвращает переменные для подгонки ансамбля с заданным типом ученика. Этот синтаксис применяется когда FitFcnName 'fitcecoc', 'fitcensemble', или 'fitrensemble'.

Примеры

свернуть все

Получите гиперпараметры по умолчанию для fitcsvm классификатор.

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

load ionosphere

Получите гиперпараметры.

VariableDescriptions = hyperparameters('fitcsvm',X,Y);

Исследуйте все гиперпараметры.

for ii = 1:length(VariableDescriptions)
    disp(ii),disp(VariableDescriptions(ii))
end
     1

  optimizableVariable with properties:

         Name: 'BoxConstraint'
        Range: [1.0000e-03 1000]
         Type: 'real'
    Transform: 'log'
     Optimize: 1

     2

  optimizableVariable with properties:

         Name: 'KernelScale'
        Range: [1.0000e-03 1000]
         Type: 'real'
    Transform: 'log'
     Optimize: 1

     3

  optimizableVariable with properties:

         Name: 'KernelFunction'
        Range: {'gaussian'  'linear'  'polynomial'}
         Type: 'categorical'
    Transform: 'none'
     Optimize: 0

     4

  optimizableVariable with properties:

         Name: 'PolynomialOrder'
        Range: [2 4]
         Type: 'integer'
    Transform: 'none'
     Optimize: 0

     5

  optimizableVariable with properties:

         Name: 'Standardize'
        Range: {'true'  'false'}
         Type: 'categorical'
    Transform: 'none'
     Optimize: 0

Измените PolynomialOrder гиперпараметр, чтобы иметь более широкую область значений и использоваться в оптимизации.

VariableDescriptions(4).Range = [2,5];
VariableDescriptions(4).Optimize = true;
disp(VariableDescriptions(4))
  optimizableVariable with properties:

         Name: 'PolynomialOrder'
        Range: [2 5]
         Type: 'integer'
    Transform: 'none'
     Optimize: 1

Получите гиперпараметры по умолчанию для fitrensemble функция регрессии ансамбля.

Загрузите carsmall данные.

load carsmall

Используйте Horsepower и Weight как переменные предикторы и MPG как переменная отклика.

X = [Horsepower Weight];
Y = MPG;

Получите гиперпараметры по умолчанию для Tree ученик.

VariableDescriptions = hyperparameters('fitrensemble',X,Y,'Tree');

Исследуйте все гиперпараметры.

for ii = 1:length(VariableDescriptions)
    disp(ii),disp(VariableDescriptions(ii))
end
     1

  optimizableVariable with properties:

         Name: 'Method'
        Range: {'Bag'  'LSBoost'}
         Type: 'categorical'
    Transform: 'none'
     Optimize: 1

     2

  optimizableVariable with properties:

         Name: 'NumLearningCycles'
        Range: [10 500]
         Type: 'integer'
    Transform: 'log'
     Optimize: 1

     3

  optimizableVariable with properties:

         Name: 'LearnRate'
        Range: [1.0000e-03 1]
         Type: 'real'
    Transform: 'log'
     Optimize: 1

     4

  optimizableVariable with properties:

         Name: 'MinLeafSize'
        Range: [1 50]
         Type: 'integer'
    Transform: 'log'
     Optimize: 1

     5

  optimizableVariable with properties:

         Name: 'MaxNumSplits'
        Range: [1 99]
         Type: 'integer'
    Transform: 'log'
     Optimize: 0

     6

  optimizableVariable with properties:

         Name: 'NumVariablesToSample'
        Range: [1 2]
         Type: 'integer'
    Transform: 'none'
     Optimize: 0

Измените MaxNumSplits гиперпараметр, чтобы иметь более широкую область значений и использоваться в оптимизации.

VariableDescriptions(5).Range = [1,200];
VariableDescriptions(5).Optimize = true;
disp(VariableDescriptions(5))
  optimizableVariable with properties:

         Name: 'MaxNumSplits'
        Range: [1 200]
         Type: 'integer'
    Transform: 'log'
     Optimize: 1

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

свернуть все

Имя подходящей функции, заданной как одна из перечисленной классификации или регрессии, соответствует именам функций.

Если FitFcnName 'fitcecoc', 'fitcensemble', или 'fitrensemble', затем также задайте тип ученика в LearnerType аргумент.

Пример: 'fitctree'

Данные о предикторе, заданные как матрица со столбцами предиктора D или как таблица со столбцами предиктора D, где D является количеством предикторов.

Пример: X

Типы данных: double | logical | char | string | table | cell | categorical | datetime

Метки класса или числовой ответ, заданный как сгруппированная переменная (см. Сгруппированные переменные), или как скаляр.

Пример: Y

Типы данных: single | double | logical | char | string | cell

Тип ученика для подгонки ансамбля, заданной как 'Discriminant', 'Kernel', 'KNN', 'Linear', 'SVM', 'Tree', или шаблон перечисленного ученика. Используйте этот аргумент когда FitFcnName 'fitcecoc', 'fitcensemble', или 'fitrensemble'.

Для 'fitcensemble' можно использовать только 'Discriminant', 'KNN', 'Tree', или связанный шаблон.

Для 'fitrensemble', можно использовать только 'Tree' или templateTree.

Пример: 'Tree'

Выходные аргументы

свернуть все

Описания переменной, возвращенные как вектор optimizableVariable объекты. Переменным установили их параметры по умолчанию, такие как область значений и тип переменной. Все имеющие право переменные существуют в описаниях, но переменных, неиспользованных в 'auto' установка имеет их Optimize набор свойств к false. Можно обновить переменные при помощи записи через точку, как показано в Примерах.

Введенный в R2017b