Выбор признаков для регрессии с помощью анализа компонента окружения (NCA)
FeatureSelectionNCARegression
содержит данные, подходящую информацию, веса функции и другие параметры модели модели анализа компонента окружения (NCA). fsrnca
изучает веса функции с помощью диагональной адаптации NCA и возвращает экземпляр FeatureSelectionNCARegression
объект. Функция достигает выбора признаков путем упорядочивания весов функции.
Создайте FeatureSelectionNCAClassification
объект с помощью fsrnca
.
NumObservations
— Количество наблюдений в обучающих данныхКоличество наблюдений в обучающих данных (X
и Y
) после удаления NaN
или Inf
значения, сохраненные как скаляр.
Типы данных: double
ModelParameters
— Параметры моделиПараметры модели использовали в обучении модель, сохраненную как структура.
Можно получить доступ к полям ModelParameters
использование записи через точку.
Например, для объекта FeatureSelectionNCARegression под названием mdl
, можно получить доступ к LossFunction
значение с помощью mdl.ModelParameters.LossFunction
.
Типы данных: struct
Lambda
— Параметр регуляризацииПараметр регуляризации использовал в обучении эту модель, сохраненную как скаляр. Для наблюдений n, лучшего Lambda
значение, которое минимизирует ошибку обобщения модели NCA, как ожидают, будет кратным 1/n.
Типы данных: double
FitMethod
— Имя подходящего метода раньше подбирало эту модель'exact'
| 'none'
| 'average'
Имя подходящего метода раньше подбирало эту модель, сохраненную как одно из следующего:
'exact'
— Выполните подбор кривой с помощью всех данных.
'none'
— Никакой подбор кривой. Используйте эту опцию, чтобы оценить ошибку обобщения модели NCA с помощью начальных весов функции, предоставленных в вызове fsrnca
.
'average'
— Программное обеспечение делит данные на разделы (подмножества), соответствует каждому разделу с помощью exact
метод, и возвращает среднее значение весов функции. Можно задать количество разделов с помощью NumPartitions
аргумент пары "имя-значение".
Solver
— Имя решателя раньше подбирало эту модель'lbfgs'
| 'sgd'
| 'minibatch-lbfgs'
Имя решателя раньше подбирало эту модель, сохраненную как одно из следующего:
'lbfgs'
— Ограниченная память Бройден Флетчер Голдфарб Шэнно (LBFGS) алгоритм
'sgd'
— Алгоритм стохастического градиентного спуска (SGD)
'minibatch-lbfgs'
— стохастический градиентный спуск с алгоритмом LBFGS применился к мини-пакетам
GradientTolerance
— Относительный допуск сходимости на норме градиентаОтносительный допуск сходимости на норме градиента для 'lbfgs'
и 'minibatch-lbfgs'
решатели, сохраненные как значение положительной скалярной величины.
Типы данных: double
IterationLimit
— Максимальное количество итераций для оптимизацииМаксимальное количество итераций для оптимизации, сохраненной как положительное целочисленное значение.
Типы данных: double
PassLimit
— Максимальное количество передачМаксимальное количество передач для 'sgd'
и 'minibatch-lbfgs'
решатели. Каждая передача процессы все наблюдения в данных.
Типы данных: double
InitialLearningRate
— Начальная скорость обученияНачальная скорость обучения для 'sgd'
и 'minibatch-lbfgs'
решатели. Скорость обучения затухает по итерациям, запускающимся в значении, заданном для InitialLearningRate
.
Используйте NumTuningIterations
и TuningSubsetSize
управлять автоматической настройкой начальной скорости обучения в вызове fsrnca
.
Типы данных: double
Verbose
— Индикатор уровня многословияИндикатор уровня многословия, сохраненный как неотрицательное целое число. Возможные значения:
0 — Никакие сводные данные сходимости
1 — сводные данные Сходимости, включая норму градиента и значения целевой функции
> 1 — Больше информации о сходимости, в зависимости от алгоритма подбора. Когда вы используете 'minibatch-lbfgs'
решатель и уровень многословия> 1, информация о сходимости включает журнал итерации от промежуточных мини-пакетных подгонок LBFGS.
Типы данных: double
InitialFeatureWeights
— Начальные веса функцииНачальные веса функции, сохраненные как p-by-1 вектор положительных действительных скаляров, где p является количеством предикторов в X
.
Типы данных: double
FeatureWeights
— Покажите весаПокажите веса, сохраненные как p-by-1 вектор действительных скалярных значений, где p является количеством предикторов в X
.
Для 'FitMethod'
равняйтесь 'average'
, FeatureWeights
p-by-m матрица, где m является количеством разделов, заданных через 'NumPartitions'
аргумент пары "имя-значение" в вызове fsrnca
.
Абсолютное значение FeatureWeights(k)
мера важности предиктора k
. Если FeatureWeights(k)
близко к 0, затем это указывает на тот предиктор k
не влияет на ответ в Y
.
Типы данных: double
FitInfo
— Подходящая информацияПодходящая информация, хранившая как структура со следующими полями.
Имя поля | Значение |
---|---|
Iteration | Индекс итерации |
Objective | Упорядоченная целевая функция для минимизации |
UnregularizedObjective | Неупорядоченная целевая функция для минимизации |
Gradient | Градиент упорядоченной целевой функции для минимизации |
Для классификации, UnregularizedObjective
представляет отрицание точности, "пропускают один" классификатора NCA на обучающих данных.
Для регрессии, UnregularizedObjective
представляет потерю, "пропускают один" между истинным ответом и предсказанным ответом при использовании модели регрессии NCA.
Для 'lbfgs'
решатель, Gradient
итоговый градиент. Для 'sgd'
и 'minibatch-lbfgs'
решатели, Gradient
итоговый мини-пакетный градиент.
Если FitMethod
'average'
, затем FitInfo
m-by-1 массив структур, где m является количеством разделов, заданных через 'NumPartitions'
аргумент пары "имя-значение".
Можно получить доступ к полям FitInfo
использование записи через точку. Например, для FeatureSelectionNCARegressionobject назвал mdl
, можно получить доступ к Objective
поле с помощью mdl.FitInfo.Objective
.
Типы данных: struct
Mu
— Средние значения предиктора[]
Средние значения предиктора, сохраненные как p-by-1 вектор для стандартизированных обучающих данных. В этом случае, predict
метод сосредотачивает матрицу предиктора X
путем вычитания соответствующего элемента Mu
из каждого столбца.
Если данные не стандартизированы во время обучения, то Mu
isempty.
Типы данных: double
Sigma
— Стандартные отклонения предиктора[]
Стандартные отклонения предиктора, сохраненные как p-by-1 вектор для стандартизированных обучающих данных. В этом случае, predict
метод масштабирует матрицу предиктора X
путем деления каждого столбца на соответствующий элемент Sigma
после центрирования данных с помощью Mu
.
Если данные не стандартизированы во время обучения, то Sigma
isempty.
Типы данных: double
X
— Значения предиктораЗначения предиктора раньше обучали эту модель, сохраненную как n-by-p матрица. n является количеством наблюдений, и p является количеством переменных предикторов в обучающих данных.
Типы данных: double
Y
— Значения ответаЗначения ответа раньше обучали эту модель, сохраненную как числовой вектор размера n, где n является количеством наблюдений.
Типы данных: double
W
— Веса наблюденияВеса наблюдения раньше обучали эту модель, сохраненную как числовой вектор размера n. Суммой весов наблюдения является n.
Типы данных: double
потеря | Оцените точность изученных весов функции на тестовых данных |
предсказать | Предскажите ответы с помощью модели регрессии анализа компонента окружения (NCA) |
ремонт | Переоборудуйте модель анализа компонента окружения (NCA) для регрессии |
FeatureSelectionNCARegression
ОбъектЗагрузите выборочные данные.
load imports-85
Первые 15 столбцов содержат непрерывные переменные предикторы, тогда как 16-й столбец содержит переменную отклика, которая является ценой автомобиля. Задайте переменные для аналитической модели компонента окружения.
Predictors = X(:,1:15); Y = X(:,16);
Подбирайте модель анализа компонента окружения (NCA) для регрессии, чтобы обнаружить соответствующие функции.
mdl = fsrnca(Predictors,Y);
Возвращенная модель NCA, mdl
, FeatureSelectionNCARegression
объект. Эта информация об объектно-ориентированной памяти об обучающих данных, модели и оптимизации. Можно получить доступ к свойствам объектов, таким как веса функции, с помощью записи через точку.
Постройте веса функции.
figure() plot(mdl.FeatureWeights,'ro') xlabel('Feature Index') ylabel('Feature Weight') grid on
Веса несоответствующих функций являются нулем. 'Verbose',1
опция в вызове fsrnca
отображает информацию об оптимизации о командной строке. Можно также визуализировать процесс оптимизации путем графического вывода целевой функции по сравнению с номером итерации.
figure() plot(mdl.FitInfo.Iteration,mdl.FitInfo.Objective,'ro-') grid on xlabel('Iteration Number') ylabel('Objective')
ModelParameters
свойством является struct
это содержит больше информации о модели. Можно получить доступ к полям этого свойства с помощью записи через точку. Например, смотрите, были ли данные стандартизированы или нет.
mdl.ModelParameters.Standardize
ans = logical
0
0 средние значения, что данные не были стандартизированы прежде, чем подбирать модель NCA. Можно стандартизировать предикторы, когда они находятся по совсем другим шкалам с помощью
'Standardize',1
аргумент пары "имя-значение" в вызове fsrnca
.
Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.