Ранг функции для неконтролируемого обучения с использованием Laplacian счетов
ранжирует признаки (переменные) в idx = fsulaplacian(X)X использование лапласианских счетов. Функция возвращается idx, который содержит индексы функций, упорядоченных по функции важности. Можно использовать idx выбрать важные функции для неконтролируемого обучения.
задает дополнительные опции, используя один или несколько аргументы пары "имя-значение". Для примера можно задать idx = fsulaplacian(X,Name,Value)'NumNeighbors',10 создать график подобия с использованием 10 ближайших соседей.
Загрузите выборочные данные.
load ionosphereОцените функции на основе важности.
[idx,scores] = fsulaplacian(X);
Создайте штриховой график для счетов значения функции.
bar(scores(idx)) xlabel('Feature rank') ylabel('Feature importance score')

Выберите пять наиболее важных функций. Найдите столбцы этих функций в X.
idx(1:5)
ans = 1×5
15 13 17 21 19
15-ый столбец X является самой важной функцией.
Вычислите матрицу подобия из набора данных радужки Фишера и оцените функции, используя матрицу подобия.
Загрузите набор данных радужки Фишера.
load fisheririsНайти расстояние между каждой парой наблюдений в meas при помощи pdist и squareform функционирует с метрикой Евклидова расстояния по умолчанию.
D = pdist(meas); Z = squareform(D);
Создайте матрицу подобия и подтвердите, что она симметричная.
S = exp(-Z.^2); issymmetric(S)
ans = logical
1
Оцените функции.
idx = fsulaplacian(meas,'Similarity',S)idx = 1×4
3 4 1 2
Ранжирование с использованием матрицы подобия S совпадает с рейтингом путем определения 'NumNeighbors' как size(meas,1).
idx2 = fsulaplacian(meas,'NumNeighbors',size(meas,1))idx2 = 1×4
3 4 1 2
X - Входные данныеВходные данные, заданные как n -by p числовая матрица. Строки X соответствуют наблюдениям (или точкам), а столбцы соответствуют функциям.
Программное обеспечение лечит NaNs в X как отсутствующие данные и игнорирует любую строку X содержит, по меньшей мере, один NaN.
Типы данных: single | double
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
'NumNeighbors',10,'KernelScale','auto' задает количество ближайших соседей 10, и коэффициент шкалы ядра как 'auto'.'Similarity' - Матрица подобия[] (пустая матрица) (по умолчанию) | симметричная матрицаМатрица подобия, заданная как разделенная разделенными запятой парами, состоящая из 'Similarity' и n -by n симметричная матрица, где n - количество наблюдений. Матрица подобия (или матрица смежности) представляет входные данные путем моделирования отношений локального соседства между точками данных. Значения в матрице подобия представляют ребра (или связи) между узлами (точками данных), которые связаны в графике подобия. Для получения дополнительной информации см. «Матрица подобия».
Если вы задаете 'Similarity' значение, тогда вы не можете задать любой другой аргумент пары "имя-значение". Если вы не задаете 'Similarity' значение, затем программа вычисляет матрицу подобия, используя опции, заданные другими аргументами пары "имя-значение".
Типы данных: single | double
'Distance' - Метрика расстоянияМетрика расстояния, заданная как разделенная разделенными запятой парами, состоящая из 'Distance' и вектор символов, строковый скаляр или указатель на функцию, как описано в этой таблице.
| Значение | Описание |
|---|---|
'euclidean' | Евклидово расстояние (по умолчанию) |
'seuclidean' | Стандартизированное евклидово расстояние. Каждое различие координат между наблюдениями масштабируется путем деления на соответствующий элемент стандартного отклонения, вычисленного из |
'mahalanobis' | Расстояние Махаланобиса с помощью выборочной ковариации |
'cityblock' | Расстояние между блоками |
'minkowski' | Расстояние Минковского. Экспонента по умолчанию является 2. Используйте |
'chebychev' | Расстояние Чебычева (максимальное различие координат) |
'cosine' | Один минус косинус включенного угла между наблюдениями (обрабатывается как векторы) |
'correlation' | Один минус корреляция выборки между наблюдениями (рассматривается как последовательности значений) |
'hamming' | Расстояние Хемминга, которое является процентом координат, которые различаются |
'jaccard' | Один минус коэффициент Жаккарда, который является процентом ненулевых координат, которые различаются |
'spearman' | Один минус выборки корреляции ранга Спирмена между наблюдениями (рассматриваются как последовательности значений) |
| Пользовательский указатель на функцию расстояния. Функция расстояния имеет вид function D2 = distfun(ZI,ZJ) % calculation of distance ...
Если ваши данные не разрежены, вы обычно можете вычислить расстояние быстрее, используя встроенное расстояние вместо указателя на функцию. |
Для получения дополнительной информации см. «Метрики расстояния».
Когда вы используете 'seuclidean', 'minkowski', или 'mahalanobis' distance metric, можно задать дополнительный аргумент пары "имя-значение" 'Scale', 'P', или 'Cov', соответственно, для управления метриками расстояния.
Пример: 'Distance','minkowski','P',3 задает использование метрики расстояния Минковского с экспонентом 3.
'P' - Экспонента для метрики расстояния Минковского2 (по умолчанию) | положительная скалярная величинаЭкспонента для метрики расстояния Минковского, заданная как разделенная разделенными запятой парами, состоящая из 'P' и положительная скалярная величина.
Этот аргумент действителен только в том случае, если 'Distance' является 'minkowski'.
Пример: 'P',3
Типы данных: single | double
'Cov' - Ковариационная матрица для метрики расстояния Махаланобисаcov(X,'omitrows') (по умолчанию) | положительно определенную матрицуКовариационная матрица для метрики расстояния Махаланобиса, заданная как разделенная разделенными запятой парами, состоящая из 'Cov' и положительно определенную матрицу.
Этот аргумент действителен только в том случае, если 'Distance' является 'mahalanobis'.
Пример: 'Cov',eye(4)
Типы данных: single | double
'Scale' - Коэффициенты масштабирования для стандартизированной метрики Евклидова расстоянияstd(X,'omitnan') (по умолчанию) | числовой вектор неотрицательных значенийМасштабные коэффициенты для стандартизированной метрики Евклидова расстояния, заданные как разделенная разделенными запятой парами, состоящая из 'Scale' и числовой вектор неотрицательных значений.
Scale имеет p длины (количество столбцов в X), поскольку каждая размерность (столбец) X имеет соответствующее значение в Scale. Для каждой размерности X, fsulaplacian использует соответствующее значение в Scale стандартизировать различие между наблюдениями.
Этот аргумент действителен только в том случае, если 'Distance' является 'seuclidean'.
Типы данных: single | double
'NumNeighbors' - Количество ближайших соседейlog(size(X,1)) (по умолчанию) | положительное целое числоКоличество ближайших соседей, используемых для построения графика подобия, заданное как разделенная разделенными запятой парами, состоящая из 'NumNeighbors' и положительное целое число.
Пример: 'NumNeighbors',10
Типы данных: single | double
'KernelScale' - Масштабный коэффициент1 (по умолчанию) | 'auto' | положительная скалярная величинаМасштабный коэффициент для ядра, заданный как разделенная разделенными запятой парами, состоящая из 'KernelScale' и 'auto' или положительная скалярная величина. Программа использует коэффициент шкалы, чтобы преобразовать расстояния к измерениям подобия. Для получения дополнительной информации см. «График подобия».
The 'auto' опция поддерживается только для 'euclidean' и 'seuclidean' метрики расстояния.
Если вы задаете 'auto'затем программа выбирает соответствующий масштабный коэффициент с помощью эвристической процедуры. Эта эвристическая процедура использует субдискретизацию, поэтому оценки могут варьироваться от одного вызова к другому. Чтобы воспроизвести результаты, установите начальное число случайных чисел используя rng перед вызовом fsulaplacian.
Пример: 'KernelScale','auto'
idx - Индексы признаков, упорядоченных по значимости функцийИндексы функций в X упорядоченный по значению функции, возвращенный как числовой вектор. Для примера, если idx(3) является 5, тогда третья по значимости функция - пятый столбец в X.
scores - счета функцийСчета функций, возвращенные как числовой вектор. Большое значение баллов в scores указывает, что соответствующая функция важна. Значения в scores имеют тот же порядок, что и функции в X.
График подобия моделирует отношения локального соседства между точками данных в X как неориентированный граф. Узлы в графике представляют точки данных, а ребра, которые не имеют направления, представляют связи между точками данных.
Если попарное расстояние Disti,j между любыми двумя узлами i и j положительно (или больше определенного порога), то график подобия соединяет эти два узла с помощью ребра [2]. Ребро между этими двумя узлами взвешивается попарным Si,j подобия, где , для заданного значения σ шкалы ядра.
fsulaplacian создает график подобия с помощью метода ближайшего соседа. Функция соединяет точки в X которые являются ближайшими соседями. Использование 'NumNeighbors' для определения количества ближайших соседей.
Матрица подобия является матричным представлением графика подобия. Матрица n -by n содержит попарные значения подобия между связанными узлами в графике подобия. Матрица подобия графика также называется матрицей смежности.
Матрица подобия симметрична, потому что ребра графика подобия не имеют направления. Значение Si,j = 0 означает, что узлы < reservedrangesplaceholder1 > и < reservedrangesplaceholder0 > графика подобия не связаны.
Матрица Лапласа, которая является одним из способов представления графика подобия, определяется как различие между Dg матрицы степени и S матрицы подобия.
fsulaplacian функция ранжирует функции, используя оценки Лаплака [1], полученные из графика подобия ближайшего соседа.
fsulaplacian вычисляет значения в scores следующим образом:
Для каждой точки данных в X, определите локальный район с помощью метода ближайшего соседа и найдите парные расстояния для всех точек i и j в районе.
Преобразуйте расстояния в матрицу подобия
S используя преобразование ядра , где σ является фактором шкалы для ядра, заданным 'KernelScale' аргумент пары "имя-значение".
Центрируйте каждую функцию путем удаления среднего значения.
где xr - r-й функция, Dg - матрица степеней, и.
Вычислите счет sr для каждой функции.
Обратите внимание, что [1] определяет счет Лаплака как
где L - Матрица Лапласа, заданная как различие между Dg и S. fsulaplacian функция использует только второй член этого уравнения для значения баллов scores так что большое значение баллов указывает на важную функцию.
Выбор функций с помощью счета Laplacian согласуется с минимизацией значения
где xir представляет i-е наблюдение r-го функции. Минимизация этого значения подразумевает, что алгоритм предпочитает функции с большим отклонением. Кроме того, алгоритм принимает, что две точки данных важной функции близки тогда и только тогда, когда график подобия имеет ребро между этими двумя точками данных.
[1] He, X., D. Cai, and P. Niyogi. Laplacian Счета for Feature Selection (неопр.) (недоступная ссылка) Материалы NIPS. 2005.
[2] Von Luxburg, U. «A Tutorial on Spectral Clustering». Журнал статистики и вычислений. Vol.17, № 4, 2007, с. 395-416.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.