достоверность#

sklearn.manifold.достоверность(X, X_embedded, *, n_neighbors=5, метрика='euclidean')[источник]#

Укажите, в какой степени сохраняется локальная структура.

Доверительность находится в пределах [0, 1]. Она определяется как

\[T(k) = 1 - \frac{2}{nk (2n - 3k - 1)} \sum^n_{i=1} \sum_{j \in \mathcal{N}_{i}^{k}} \max(0, (r(i, j) - k))\]

где для каждого образца i, \(\mathcal{N}_{i}^{k}\) являются его k ближайшими соседями в выходном пространстве, и каждый образец j является его \(r(i, j)\)-го ближайшего соседа во входном пространстве. Другими словами, любые неожиданные ближайшие соседи в выходном пространстве штрафуются пропорционально их рангу во входном пространстве.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features) или

(n_samples, n_samples) Если метрика 'precomputed', X должна быть квадратной матрицей расстояний. В противном случае она содержит выборку по строкам.

X_embedded{array-like, sparse matrix} формы (n_samples, n_components)

Встраивание обучающих данных в пространство низкой размерности.

n_neighborsint, по умолчанию=5

Количество соседей, которые будут учитываться. Должно быть меньше, чем n_samples / 2 чтобы гарантировать, что достоверность находится в пределах [0, 1], как упоминалось в [1]. В противном случае будет вызвана ошибка.

метрикаstr или callable, по умолчанию='euclidean'

Какую метрику использовать для вычисления попарных расстояний между образцами из исходного входного пространства. Если метрика ‘precomputed’, X должна быть матрицей попарных расстояний или квадратов расстояний. В противном случае, для списка доступных метрик см. документацию аргумента metric в sklearn.pairwise.pairwise_distances и метрики, перечисленные в sklearn.metrics.pairwise.PAIRWISE_DISTANCE_FUNCTIONS. Обратите внимание, что метрика «cosine» использует cosine_distances.

Добавлено в версии 0.20.

Возвращает:
достоверностьfloat

Достоверность низкоразмерного вложения.

Ссылки

[1]

Яркко Венна и Самуэль Каски. 2001. Сохранение окрестностей в нелинейных методах проекции: экспериментальное исследование. В материалах Международной конференции по искусственным нейронным сетям (ICANN '01). Springer-Verlag, Берлин, Гейдельберг, 485-491.

[2]

Laurens van der Maaten. Learning a Parametric Embedding by Preserving Local Structure. Proceedings of the Twelfth International Conference on Artificial Intelligence and Statistics, PMLR 5:384-391, 2009.

Примеры

>>> from sklearn.datasets import make_blobs
>>> from sklearn.decomposition import PCA
>>> from sklearn.manifold import trustworthiness
>>> X, _ = make_blobs(n_samples=100, n_features=10, centers=3, random_state=42)
>>> X_embedded = PCA(n_components=2).fit_transform(X)
>>> print(f"{trustworthiness(X, X_embedded, n_neighbors=5):.2f}")
0.92