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' - Алгоритм Broyden-Fletcher-Goldfarb-Shanno (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, информация о сходимости включает в себя журнал итерации от промежуточных моделей minibatch LBFGS.

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

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

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

Веса функций, сохраненные как p-на-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-на-1 для стандартизированных обучающих данных. В этом случае, predict матрица предикторов центров методов X путем вычитания соответствующего элемента Mu из каждого столбца.

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

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

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

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

Типы данных: 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. The axes contains an object of type line.

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

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

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

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

mdl.ModelParameters.Standardize
ans = logical
   0

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

Копировать семантику

Значение. Чтобы узнать, как классы значений влияют на операции копирования, см. раздел «Копирование объектов».

Введенный в R2016b