FeatureSelectionNCARegression class

Выбор признаков для регрессии с помощью анализа компонента окружения (NCA)

Описание

FeatureSelectionNCARegression содержит данные, подходящую информацию, веса функции и другие параметры модели модели анализа компонента окружения (NCA). fsrnca изучает веса функции с помощью диагональной адаптации NCA и возвращает экземпляр FeatureSelectionNCARegression объект. Функция достигает выбора признаков путем упорядочивания весов функции.

Конструкция

Создайте FeatureSelectionNCAClassification объектное использование fsrnca.

Свойства

развернуть все

Количество наблюдений в обучающих данных (X и Y) после удаления NaN или Inf значения, сохраненные как скаляр.

Типы данных: double

Параметры модели использовали для обучения модель, сохраненную как структура.

Можно получить доступ к полям ModelParameters использование записи через точку.

Например, для объекта FeatureSelectionNCARegression под названием mdl, можно получить доступ к LossFunction значение с помощью mdl.ModelParameters.LossFunction.

Типы данных: struct

Параметр регуляризации использовал для обучения эту модель, сохраненную как скаляр. Для наблюдений n, лучшего Lambda значение, которое минимизирует ошибку обобщения модели NCA, как ожидают, будет кратным 1/n.

Типы данных: double

Имя подходящего метода раньше подбирало эту модель, сохраненную как одно из следующего:

  • 'exact' — Выполните подбор кривой с помощью всех данных.

  • 'none' — Никакой подбор кривой. Используйте эту опцию, чтобы оценить ошибку обобщения модели NCA с помощью начальных весов функции, предоставленных в вызове fsrnca.

  • 'average' — Программное обеспечение делит данные на разделы (подмножества), соответствует каждому разделу с помощью exact метод, и возвращает среднее значение весов функции. Можно задать количество разделов с помощью NumPartitions аргумент пары "имя-значение".

Имя решателя раньше подбирало эту модель, сохраненную как одно из следующего:

  • 'lbfgs' — Ограниченная память Бройден Флетчер Голдфарб Шэнно (LBFGS) алгоритм

  • 'sgd' — Алгоритм стохастического градиентного спуска (SGD)

  • 'minibatch-lbfgs' — стохастический градиентный спуск с алгоритмом LBFGS применился к мини-пакетам

Относительный допуск сходимости на норме градиента для 'lbfgs' и 'minibatch-lbfgs' решатели, сохраненные как значение положительной скалярной величины.

Типы данных: double

Максимальное количество итераций для оптимизации, сохраненной как положительное целочисленное значение.

Типы данных: double

Максимальное количество передач для 'sgd' и 'minibatch-lbfgs' решатели. Каждая передача процессы все наблюдения в данных.

Типы данных: double

Начальная скорость обучения для 'sgd' и 'minibatch-lbfgs' решатели. Скорость обучения затухает по итерациям, запускающимся в значении, заданном для InitialLearningRate.

Используйте NumTuningIterations и TuningSubsetSize управлять автоматической настройкой начальной скорости обучения в вызове fsrnca.

Типы данных: double

Индикатор уровня многословия, сохраненный как неотрицательное целое число. Возможные значения:

  • 0 — Никакие сводные данные сходимости

  • 1 — сводные данные Сходимости, включая норму градиента и значения целевой функции

  • > 1 — Больше информации о сходимости, в зависимости от алгоритма подбора. Когда вы используете 'minibatch-lbfgs' решатель и уровень многословия> 1, информация о сходимости включает журнал итерации от промежуточных мини-пакетных подгонок LBFGS.

Типы данных: double

Начальные веса функции, сохраненные как p-by-1 вектор из положительных действительных скаляров, где p является количеством предикторов в X.

Типы данных: double

Покажите веса, сохраненные как p-by-1 вектор из действительных скалярных значений, где p является количеством предикторов в X.

Для 'FitMethod' равняйтесь 'average', FeatureWeights p-by-m матрица, где m является количеством разделов, заданных через 'NumPartitions' аргумент пары "имя-значение" в вызове fsrnca.

Абсолютное значение FeatureWeights(k) мера важности предиктора k. Если FeatureWeights(k) близко к 0, затем это указывает на тот предиктор k не влияет на ответ в Y.

Типы данных: double

Подходящая информация, хранившая как структура со следующими полями.

Имя поляЗначение
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

Средние значения предиктора, сохраненные как p-by-1 вектор для стандартизированных обучающих данных. В этом случае, predict метод сосредотачивает матрицу предиктора X путем вычитания соответствующего элемента Mu из каждого столбца.

Если данные не стандартизированы во время обучения, то Mu isempty.

Типы данных: double

Стандартные отклонения предиктора, сохраненные как p-by-1 вектор для стандартизированных обучающих данных. В этом случае, predict метод масштабирует матрицу предиктора X путем деления каждого столбца на соответствующий элемент Sigma после центрирования данных с помощью Mu.

Если данные не стандартизированы во время обучения, то Sigma isempty.

Типы данных: double

Значения предиктора раньше обучали эту модель, сохраненную как n-by-p матрица. n является количеством наблюдений, и p является количеством переменных предикторов в обучающих данных.

Типы данных: double

Значения отклика раньше обучали эту модель, сохраненную как числовой вектор из размера n, где n является количеством наблюдений.

Типы данных: double

Веса наблюдения раньше обучали эту модель, сохраненную как числовой вектор из размера n. Суммой весов наблюдения является n.

Типы данных: double

Методы

потеря Оцените точность изученных весов функции на тестовых данных
предсказатьПредскажите ответы с помощью модели регрессии анализа компонента окружения (NCA)
ремонтПереоборудуйте модель анализа компонента окружения (NCA) для регрессии

Примеры

свернуть все

Загрузите выборочные данные.

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

Figure contains an axes object. The axes object contains an object of type line.

Веса несоответствующих функций являются нулем. 'Verbose',1 опция в вызове fsrnca отображает информацию об оптимизации о командной строке. Можно также визуализировать процесс оптимизации путем графического вывода целевой функции по сравнению с номером итерации.

figure()
plot(mdl.FitInfo.Iteration,mdl.FitInfo.Objective,'ro-')
grid on
xlabel('Iteration Number')
ylabel('Objective')

Figure contains an axes object. The axes object contains an object of type line.

ModelParameters свойством является struct это содержит больше информации о модели. Можно получить доступ к полям этого свойства с помощью записи через точку. Например, смотрите, были ли данные стандартизированы или нет.

mdl.ModelParameters.Standardize
ans = logical
   0

0 средние значения, что данные не были стандартизированы прежде, чем подбирать модель NCA. Можно стандартизировать предикторы, когда они находятся по совсем другим шкалам с помощью 'Standardize',1 аргумент пары "имя-значение" в вызове fsrnca .

Введенный в R2017b