Оцените функции безнадзорного изучения с помощью Лапласовых баллов
ранги показывают (переменные) в 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' | Расстояние Mahalanobis с помощью выборочной ковариации |
'cityblock' | Расстояние городского квартала |
'minkowski' | Расстояние Минковскего. Экспонента по умолчанию равняется 2. Используйте |
'chebychev' | Расстояние Чебычева (максимум координируют различие), |
'cosine' | Один минус косинус включенного угла между наблюдениями (обработанный как векторы) |
'correlation' | Один минус корреляция выборки между наблюдениями (обработанный как последовательности значений) |
'hamming' | Расстояние Хемминга, которое является процентом координат, которые отличаются |
'jaccard' | Один минус коэффициент Jaccard, который является процентом ненулевых координат, которые отличаются |
'spearman' | Один минус порядковая корреляция демонстрационного Копьеносца между наблюдениями (обработанный как последовательности значений) |
@ | Пользовательский указатель на функцию расстояния. Функция расстояния имеет форму function D2 = distfun(ZI,ZJ) % calculation of distance ...
Если ваши данные не разреженны, можно обычно вычислять расстояние более быстро при помощи встроенного расстояния вместо указателя на функцию. |
Для получения дополнительной информации смотрите Метрики Расстояния.
Когда вы используете 'seuclidean', 'minkowski', или 'mahalanobis' метрика расстояния, можно задать дополнительный аргумент пары "имя-значение" 'Scale'P, или 'Cov', соответственно, чтобы управлять метриками расстояния.
Пример: 'Distance','minkowski','P',3 задает, чтобы использовать метрику расстояния Минковскего с экспонентой 3.
'P' — Экспонента для метрики расстояния Минковскего (значение по умолчанию) | положительная скалярная величинаЭкспонента для метрики расстояния Минковскего, заданной как разделенная запятой пара, состоящая из 'P' и положительная скалярная величина.
Этот аргумент допустим только если 'Distance' 'minkowski'.
Пример: 'P',3
Типы данных: single | double
'Cov' — Ковариационная матрица для метрики расстояния Mahalanobisnancov(X) (значение по умолчанию) | положительная определенная матрицаКовариационная матрица для метрики расстояния Mahalanobis, заданной как разделенная запятой пара, состоящая из 'Cov' и положительная определенная матрица.
Этот аргумент допустим только если 'Distance' 'mahalanobis'.
Пример: 'Cov',eye(4)
Типы данных: single | double
'Scale' — Масштабные коэффициенты для стандартизированной Евклидовой метрики расстоянияnanstd(X) (значение по умолчанию) | числовой вектор неотрицательных значенийМасштабные коэффициенты для стандартизированной Евклидовой метрики расстояния, заданной как разделенная запятой пара, состоящая из 'Scale' и числовой вектор неотрицательных значений.
Scale имеет длину p (количество столбцов в X), потому что каждая размерность (столбец) X имеет соответствующее значение в Scale. Для каждой размерности X, fsulaplacian использует соответствующее значение в Scale стандартизировать различие между наблюдениями.
Этот аргумент допустим только если 'Distance' 'seuclidean'.
Типы данных: single | double
'NumNeighbors' — Количество самых близких соседейlog(size(X,1)) (значение по умолчанию) | положительное целое числоКоличество самых близких соседей раньше создавало график подобия, заданный как разделенная запятой пара, состоящая из 'NumNeighbors' и положительное целое число.
Пример: 'NumNeighbors',10
Типы данных: single | double
'KernelScale' ScaleFactor (значение по умолчанию) | 'auto' | положительная скалярная величинаМасштабный коэффициент для ядра, заданного как разделенная запятой пара, состоящая из 'KernelScale' и 'auto' или положительная скалярная величина. Программное обеспечение использует масштабный коэффициент, чтобы преобразовать расстояния до мер по подобию. Для получения дополнительной информации см. График Подобия.
'auto' опция поддерживается только для 'euclidean' и 'seuclidean' метрики расстояния.
Если вы задаете 'auto', затем программное обеспечение выбирает соответствующий масштабный коэффициент с помощью эвристической процедуры. Эта эвристическая процедура использует подвыборку, таким образом, оценки могут варьироваться от одного вызова до другого. Чтобы воспроизвести результаты, установите seed случайных чисел с помощью 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 средние значения, что узлы i и j графика подобия не соединяются.
Матрицей степени Dg является n-by-n диагональная матрица, полученная путем подведения итогов строк матрицы подобия S. Таким образом, i th диагональный элемент Dg
Матрица Лапласа, которая является одним способом представлять график подобия, задана как различие между матрицей степени Dg и матрицей подобия S.
fsulaplacian функционируйте функции рангов с помощью Лапласовых баллов [1] полученный из самого близкого соседнего графика подобия.
fsulaplacian вычисляет значения в scores можно следующим образом:
Для каждой точки данных в X, задайте локальное окружение с помощью самого близкого соседнего метода и найдите попарные расстояния для всех точек i и j в окружении.
Преобразуйте расстояния до матрицы подобия
S с помощью преобразования ядра , где σ является масштабным коэффициентом для ядра, как задано 'KernelScale' аргумент пары "имя-значение".
Сосредоточьте каждую функцию путем удаления ее среднего значения.
где xr является r th функция, Dg является матрицей степени, и .
Вычислите счет sr для каждой функции.
Обратите внимание на то, что [1] задает Лапласов счет как
где L является Матрица Лапласа, заданная как различие между Dg и S. fsulaplacian функция использует только второй термин этого уравнения для значения счета scores так, чтобы большое значение счета указало на важную функцию.
Выбор функций с помощью Лапласового счета сопоставим с минимизацией значения
где xir представляет i th наблюдение за r th функция. Минимизация этого значения подразумевает, что алгоритм предпочитает функции с большим отклонением. Кроме того, алгоритм принимает, что две точки данных важной функции близки, если и только если график подобия имеет ребро между этими двумя точками данных.
[1] Он, X., Д. Цай и П. Нииоджи. "Лапласов счет к выбору признаков". Продолжения NIPS. 2005.
[2] Фон Люксбург, U. “Пример на Спектральной Кластеризации”. Статистика и Вычисляющий Журнал. Vol.17, Номер 4, 2007, стр 395–416.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.