FeatureSelectionNCAClassification class

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

Описание

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

Конструкция

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

Свойства

расширить все

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

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

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

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

Для примера для объекта FeatureSelectionNCAClassification с именем mdl, вы можете получить доступ к LossFunction значение с использованием mdl.ModelParameters.LossFunction.

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

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

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

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

  • 'exact' - Выполните подбор кривой, используя все данные.

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

  • '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 аргументы пары "имя-значение" для управления автоматической настройкой начальной скорости обучения в вызове fscnca.

Типы данных: 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' аргумент пары "имя-значение" в вызове fscnca.

Абсолютное значение FeatureWeights(k) является мерой важности предиктора k. A 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 использование записи через точку. Для примера для FeatureSelectionNCAClassificationobject с именем 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 ionosphere

Набор данных имеет 34 непрерывных предиктора. Переменная отклика является радиолокационными возвратами, обозначенной как b (плохой) или g (хороший).

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

mdl = fscnca(X,Y);

Возвращенная модель NCA, mdl, является FeatureSelectionNCAClassification объект. Этот объект хранит информацию о обучающих данных, модели и оптимизации. Вы можете получить доступ к свойствам объекта, таким как веса функций, с помощью записи через точку.

Постройте график весов функций.

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 опция в вызове fscnca отображает информацию об оптимизации в командной строке. Можно также визуализировать процесс оптимизации, построив график целевой функции от числа итерации.

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 аргумент пары "имя-значение" в вызове fscnca .

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

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

Введенный в R2016b