Выбор признаков для регрессии с использованием анализа соседних компонентов (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'
- Алгоритм Broyden-Fletcher-Goldfarb-Shanno (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, информация о сходимости включает в себя журнал итерации от промежуточных моделей minibatch LBFGS.
Типы данных: double
InitialFeatureWeights
- Начальные веса функцийНачальные веса функций, сохраненные как p-на-1 вектор положительных действительных скаляров, где p количество предикторов в X
.
Типы данных: double
FeatureWeights
- Веса функцийВеса функций, сохраненные как p-на-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-на-1 для стандартизированных обучающих данных. В этом случае, predict
матрица предикторов центров методов X
путем вычитания соответствующего элемента Mu
из каждого столбца.
Если данные не стандартизированы во время обучения, то Mu
пуст.
Типы данных: double
Sigma
- Стандартные отклонения предиктора[]
Стандартные отклонения предиктора, сохраненные как вектор p-на-1 для стандартизированных обучающих данных. В этом случае, predict
метод масштабирует матрицу предиктора X
путем деления каждого столбца на соответствующий элемент Sigma
после центрирования данных с помощью Mu
.
Если данные не стандартизированы во время обучения, то Sigma
пуст.
Типы данных: 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
Веса нерелевантных функций равны нулю. The 'Verbose',1
опция в вызове fsrnca
отображает информацию об оптимизации в командной строке. Можно также визуализировать процесс оптимизации, построив график целевой функции от числа итерации.
figure() plot(mdl.FitInfo.Iteration,mdl.FitInfo.Objective,'ro-') grid on xlabel('Iteration Number') ylabel('Objective')
The ModelParameters
свойство является struct
который содержит дополнительную информацию о модели. Вы можете получить доступ к полям этого свойства с помощью записи через точку. Для получения примера смотрите, были ли данные стандартизированы или нет.
mdl.ModelParameters.Standardize
ans = logical
0
0
означает, что данные не были стандартизированы перед подгонкой модели NCA. Можно стандартизировать предикторы, когда они находятся в очень разных шкалах, используя 'Standardize',1
аргумент пары "имя-значение" в вызове fsrnca
.
Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.