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' — Ограниченная память Бройден Флетчер Голдфарб Шэнно (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, информация о сходимости включает журнал итерации от промежуточных мини-пакетных подгонок LBFGS.

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

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

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

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

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

Абсолютное значение 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 использование записи через точку. Например, для FeatureSelectionNCAClassificationobject назвал 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 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.

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

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

mdl.ModelParameters.Standardize
ans = logical
   0

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

Введенный в R2017b