Создайте алгоритм
newalg = alg.CreateAlgorithm( AlgorithmName)
Это метод mbcmodel.fitalgorithm
.
newalg = alg.CreateAlgorithm( AlgorithmName)
создает алгоритм заданного типа. alg
является mbcmodel.fitalgorithm
объект. AlgorithmName
должен быть в списке альтернативных алгоритмов, заданных alg.getAlternativeNames
.
Чтобы изменить алгоритм подгонки для модели:
>> model = mbcmodel.CreateModel('Polynomial', 2); >> minpress = model.FitAlgorithm.CreateAlgorithm('Minimize PRESS'); >> model.FitAlgorithm = minpress;
The AlgorithmName
определяет, какие свойства можно задать. Можно отобразить свойства для алгоритма следующим образом:
>> model.FitAlgorithm.properties Algorithm: Minimize PRESS Alternatives: 'Least Squares','Forward Selection','Backward Selection','Prune' MaxIter: Maximum Iterations (int: [1,1000])
В качестве более простой альтернативы использованию CreateAlgorithm можно присвоить имя алгоритма непосредственно алгоритму. Для примера:
B.FitAlgorithm.BoundaryPointOptions = 'Boundary Only';
m.FitAlgorithm = 'Minimize PRESS';
FitAlgorithm
.В следующих разделах перечислены свойства, доступные для каждого типа алгоритма.
Используется полиномами, гибридными сплайнами и как алгоритм StepAlgorithm для алгоритмов RBF.
Алгоритм: наименьшие квадраты
Альтернативы: 'Minimize PRESS','Forward Selection','Backward Selection','Prune'
Алгоритм: Минимизируйте PRESS
Альтернативы: 'Least Squares','Forward Selection','Backward Selection','Prune'
MaxIter: максимум итераций (int: [1,1000])
Алгоритм: Выбор вперед
Альтернативы: 'Least Squares','Minimize PRESS','Backward Selection','Prune'
Доверительный уровень: доверительный уровень (%) (число: [70,100])
MaxIter: максимум итераций (int: [1,1000])
RemoveAll: Сначала удалите все термины (логический)
Алгоритм: выбор назад
Альтернативы: 'Least Squares','Minimize PRESS','Forward Selection','Prune'
Доверительный уровень: Альфа (%) (число: [70,100])
MaxIter: максимум итераций (int: [1,1000])
IncludeAll: Сначала включите все условия (логический)
Алгоритм: Prune
Альтернативы: 'Least Squares','Minimize PRESS','Forward Selection','Backward Selection'
Критерии (PRESS RMSE 'RMSE' GCV 'Weighted PRESS|-2logL'AIC'AICc'BIC'R^2|R^2 adj' PRESS R^2|DW'Cp'cond (J))
MinTerms: Минимальное количество терминов (int: [0, Inf])
Допуск (число: [0,1000])
IncludeAll: Включите все условия перед обрезкой (логический)
Отображение (логическое)
Для получения информации о любом из свойств RBF и гибридного алгоритма RBF, смотрите Radial Basis Functions for Построение моделей, и особенно Fitting Routines в Руководстве пользователя Model Browser.
Алгоритм: RBF Подгонка
WidthAlgorithm: Алгоритм выбора ширины (mbcmodel.fitalgorithm)
Алгоритм шага: пошаговый (mbcmodel.fitalgorithm)
Альтернативы: 'WidPerDim','Tree Regression'
Алгоритм: TrialWidths
NestedFitAlgorithm: Алгоритм выбора Лямбды (mbcmodel.fitalgorithm)
Испытания: Количество пробных ширин в каждом масштабе (int: [2100])
Масштабирование: Количество масштабов (int: [1100])
MinWidth: начальная нижняя граница ширины (число: [2.22045e-016,1000])
MaxWidth: начальная верхняя граница ширины (число: [2.22045e-016,100])
PlotFlag: графики отображения (логические)
PlotProgress: отображение прогресса подгонки (логический)
Алгоритм: WidPerDim
Альтернативы: 'TrialWidths','Tree Regression'
NestedFitAlgorithm: Алгоритм выбора Лямбды (mbcmodel.fitalgorithm)
DisplayFlag: отображение (логический)
MaxFunEvals: Максимальное количество тестовых ширин (int: [1, 1e + 006])
PlotProgress: отображение прогресса подгонки (логический)
Алгоритм: регрессия дерева
Альтернативы: 'TrialWidths','WidPerDim'
MaxNumRectangles: Максимальное количество панелей (int: [1, Inf])
MinPerRectangle: Минимальные точки данных на панель (int: [2, Inf])
RectangleSize: Усадка панели к данным (логический)
AlphaSelectAlg: Алгоритм выбора Альфа (mbcmodel.fitalgorithm)
Алгоритм: IterateRidge
Альтернативы: 'IterateRols','StepItRols'
CenterSelectionAlg: Алгоритм выбора центра (mbcmodel.fitalgorithm)
MaxNumIter: максимальное количество обновлений (int: [1100])
Допуск: Минимальное изменение в логе10 (GCV) (число: [2.22045e-016,1])
NumberOfLambdaValues: Количество начальных тестовых значений для лямбды (int: [0,100])
CheapMode: Не переизбирайте центры для новой ширины (логический)
PlotFlag: отображение (логическое)
Алгоритм: IterateRols
Альтернативы: 'IterateRidge','StepItRols'
CenterSelectionAlg: Алгоритм выбора центра (mbcmodel.fitalgorithm)
MaxNumIter: максимальное количество итераций (int: [1100])
Допуск: Минимальное изменение в логе10 (GCV) (число: [2.22045e-016,1])
NumberOfLambdaValues: Количество начальных тестовых значений для лямбды (int: [0,100])
CheapMode: Не переизбирайте центры для новой ширины (логический)
PlotFlag: отображение (логическое)
Алгоритм: StepItRols
Альтернативы: 'IterateRidge','IterateRols'
MaxCenter: Максимальное количество центров (evalstr)
PercentCandidate: Процент данных, которые будут центрами кандидатов (estimstr)
StartLambdaUpdate: Количество центров, которые нужно добавить перед обновлением (int: [1, Inf])
Допуск: Минимальное изменение в логе10 (GCV) (число: [2.22045e-016,1])
MaxRep: Максимальное количество раз изменение log10 (GCV) минимально (int: [1100 ])
Алгоритм: Rols
Альтернативы: 'RedErr','WiggleCenters','CenterExchange'
MaxCenter: Максимальное количество центров (evalstr)
PercentCandidate: Процент данных, которые будут центрами кандидатов (estimstr)
Допуск: Регуляризованный допуск ошибок (число: [2.22045e-016,1])
Алгоритм: RedErr
Альтернативы: 'Rols','WiggleCenters','CenterExchange'
MaxCenter: Количество центров (estimstr)
Алгоритм: WiggleCenter
Альтернативы: 'Rols','RedErr','CenterExchange'
MaxCenter: Количество центров (estimstr)
PercentCandidate: Процент данных, которые будут центрами кандидатов (estimstr)
Алгоритм: CenterExchange
Альтернативы: 'Rols','RedErr','WiggleCenters'
MaxCenter: Количество центров (estimstr)
NumLoops: Количество циклов увеличения/сокращения (int: [1, Inf])
NumAugment: Количество центров для увеличения (int: [1, Inf ])
Алгоритм: Пробная Альфа
Альтернативы: 'Specify Alpha'
AlphaLowerBound: начальная нижняя граница альфа (число: [2 .2045e-016, Inf])
AlphaUpperBound: начальная верхняя граница альфа (число: [2 .2045e-016, Inf])
Масштабирование: Количество масштабов (int: [1, Inf])
Испытания: Пробные альфасы в масштабе (int: [2, Inf])
Интервал: Интервал (LinearLogarithmic)
CenterSelectAlg: Алгоритм выбора центра (mbcmodel.fitalgorithm)
Алгоритм: Задайте Альфа
Альтернативы: 'Trial Alpha'
Альфа: параметр шкалы ширины, альфа (число: [2 .22045e-016, Inf])
NestedFitAlgorithm: Алгоритм выбора центра (mbcmodel.fitalgorithm)
Алгоритм: Выбор центра на основе дерева
Альтернативы: 'Generic Center Selection'
ModelSelectionCriteria: критерии выбора модели (BIC 'GCV)
MaxNumberCenter: Максимальное количество центров (evalstr)
Алгоритм: Типовой выбор центра
Альтернативы: 'Tree-based Center Selection'
CenterSelectAlg: Алгоритм выбора центра (mbcmodel.fitalgorithm)
Алгоритм: RBF Подгонка
WidthAlgorithm: Алгоритм выбора ширины (mbcmodel.fitalgorithm)
Алгоритм шага: пошаговый (mbcmodel.fitalgorithm)
Алгоритм: TrialWidths
NestedFitAlgorithm: Алгоритм выбора терминов и Лямбда (mbcmodel.fitalgorithm)
Испытания: Количество пробных ширин в каждом масштабе (int: [2100])
Масштабирование: Количество масштабов (int: [1100])
MinWidth: начальная нижняя граница ширины (число: [2.22045e-016,1000])
MaxWidth: начальная верхняя граница ширины (число: [2.22045e-016,100])
PlotFlag: графики отображения (логические)
PlotProgress: отображение прогресса подгонки (логический)
Алгоритм: Twostep
Альтернативы: 'Interlace'
MaxCenter: Максимальное количество центров (evalstr)
PercentCandidate: Процент данных, которые будут центрами кандидатов (estimstr)
StartLambdaUpdate: Количество терминов, которые нужно добавить перед обновлением (int: [1, Inf])
Допуск: Минимальное изменение в логе10 (GCV) (число: [2.22045e-016,1])
MaxRep: Максимальное количество раз изменение log10 (GCV) минимально (int: [1100])
PlotFlag: отображение (логическое)
Алгоритм: Чередование
Альтернативы: 'Twostep'
MaxParameters: Максимальное количество членов (evalstr)
MaxCenter: Максимальное количество центров (evalstr)
PercentCandidate: Процент данных, которые будут центрами кандидатов (estimstr)
StartLambdaUpdate: Количество терминов, которые нужно добавить перед обновлением (int: [1, Inf])
Допуск: Минимальное изменение в логе10 (GCV) (число: [2.22045e-016,1])
MaxRep: Максимальное количество раз изменение log10 (GCV) минимально (int: [1100 ])
В следующих разделах перечислены доступные параметры алгоритма аппроксимации для контуров командной строки. Параметры алгоритма подгонки краевой модели имеют те же опции подгонки, что и графический интерфейс пользователя редактора границ. Инструкции по использованию этих опций подгонки см. в разделе «Редактирование опций контура» в документации Model Browser.
KeepAllFacets: Логический, чтобы указать, сохранять ли все грани (по умолчанию это false
, не храните все грани).
Допуск: Допуск для максимального 1-нормального расстояния, допустимого для удаления граней (число: [0, Inf], значение по умолчанию 0.02). Чтобы удалить больше граней, увеличьте допуск.
Для получения дополнительной информации см. раздел «Настройка выпуклой оболочки» в документации Model Browser.
Алгоритм: Ограничение Подбора кривой
BoundaryPointOptions: граничные точки (mbcmodel.fitalgorithm)
Алгоритм граничных точек использует оптимизацию, чтобы найти лучший эллипс. Эти опции из fmincon
.
Алгоритм: граничные точки
Отображение: Отображение (none 'iter' final)
MaxFunEvals: Максимальное количество вычислений функции (int: [1, Inf])
MaxIter: максимальные итерации (int: [1, Inf])
TolFun: Function tolerance (число: [1e-012, Inf])
TolX: допуск переменной (число: [1e-012, Inf])
TolCon: допуск ограничений (число: [1e-012, Inf ])
Алгоритм: Ограничение Подбора кривой
SpecialPointOptions: Специальные точки (mbcmodel.fitalgorithm)
BoundaryPointOptions: граничные точки (mbcmodel.fitalgorithm)
ConstraintFitOptions: подгонка под ограничения (mbcmodel.fitalgorithm)
Алгоритм: звездообразные точки
CenterAlg: Центр (mbcmodel.fitalgorithm)
Альтернативы алгоритма: 'Mean', 'Median', 'Mid Range', 'Min Ellipse', 'User Defined'
Только для пользователя: CenterPoint: Определяемый пользователем центр [X1,X2] (вектор: NumberOfActiveInputs)
Можно выбрать поиск граничных точек (использование Interior
) или предположить, что все точки находятся на контуре (используйте Boundary Only
). Затем внутренний алгоритм имеет ручные и автоматические опции для алгоритмов радиуса расширения и литья лучей.
Алгоритм: Только контур (без дальнейших опций)
Алгоритм: Интерьер. Дальнейшие опции:
DilationRadius (mbcmodel.fitalgorithm)
Алгоритм: Авто
Алгоритм: Ручной
радиус: Радиус (число: [0, Inf])
RayCasting (mbcmodel.fitalgorithm)
Алгоритм: Из данных
Алгоритм: Ручной
nray: Количество лучей (int: [1, Inf ])
Алгоритм: Звездообразный RBF Fit
Дальнейшие опции:
Преобразование (None 'Log' McCallum)
KernelOpts: ядро RBF (mbcmodel.fitalgorithm)
Алгоритмы ядра могут быть: wendland, multiquadric, recmultiquadric, gaussian, thinplate, logisticrbf. linearrbf, cubicrbf.
Можно задать ширины и непрерывность как подсвойства конкретных ядер RBF.
Можно задать ширины для wendland, multi quadric, recmultiquadric, gaussian, logisticrbf. Ширина: RBF Ширина (число: [1 .49012e-008, Inf])
Для вендланда можно задать параметр Непрерывность (Continuity). Продолжение: Непрерывность RBF (0|2|4|6)
RbfOpts: Алгоритм RBF (mbcmodel.fitalgorithm)
Алгоритм: Интерполяция. Ниже приведены дополнительные настройки для интерполяции RBF.
CoincidentStrategy: Стратегия совмещенного узла (Максимальное значение 'Minimum')
Алгоритм: Алгоритм (Direct 'GMRES' BICG 'CGS' QMR)
Допуск: Допуск (число: [0, Inf])
MaxIt: Максимальное количество итераций (int: [1, Inf ])
Сначала получите объект fitalgorithm, F, из модели:
M = mbcmodel.CreateModel('Polynomial', 4); F = M.FitAlgorithm F = Algorithm: Least Squares Alternatives: 'Minimize PRESS','Forward Selection','Backward Selection','Prune' 1x1 struct array with no fields.
Затем, чтобы создать новый тип алгоритма:
Alg = CreateAlgorithm(F, 'Minimize PRESS') Alg = Algorithm: Minimize PRESS Alternatives: 'Least Squares','Forward Selection','Backward Selection','Prune' MaxIter: 50
The AlgorithmName
определяет, какие свойства можно задать. Можно отобразить свойства для алгоритма следующим образом:
>> model.FitAlgorithm.properties Algorithm: Minimize PRESS Alternatives: 'Least Squares','Forward Selection','Backward Selection','Prune' MaxIter: Maximum Iterations (int: [1,1000])
Как более простая альтернатива использованию CreateAlgorithm
, можно присвоить имя алгоритма непосредственно алгоритму. Для примера:
B.FitAlgorithm.BoundaryPointOptions = 'Boundary Only';
m.FitAlgorithm = 'Minimize PRESS';