гиперпараметры

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

Синтаксис

VariableDescriptions = hyperparameters(FitFcnName,predictors,response)
VariableDescriptions = hyperparameters(FitFcnName,predictors,response,LearnerType)

Описание

пример

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