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

Веса несоответствующих функций являются нулем. '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).

Смотрите также

| | |

Введенный в R2017b