Надёжность
- sklearn.manifold.trustworthiness(X, X_embedded, *, n_neighbors=5, metric='euclidean')[source]
-
Показывает, насколько сохраняется локальная структура.
Надёжность находится в пределах [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{массив, разреженная матрица} формы (n_samples, n_features) или
-
(n_samples, n_samples) Если метрика - ‘precomputed’, X должен быть квадратной матрицей расстояний. В противном случае она содержит образец в каждой строке.
- X_embedded{массив, разреженная матрица} формы (n_samples, n_components)
-
Встраивание обучающих данных в низкоразмерное пространство.
- n_neighborsint, default=5
-
Количество соседей, которые будут рассмотрены. Должно быть меньше, чем
n_samples / 2для обеспечения надёжности в пределах [0, 1], как упоминалось в [1]. В противном случае будет вызвана ошибка. - metricstr или callable, default=’euclidean’
-
Какую метрику использовать для вычисления попарных расстояний между образцами из исходного входного пространства. Если метрика - ‘precomputed’, X должна быть матрицей попарных расстояний или квадратов расстояний. В противном случае, для списка доступных метрик см. документацию аргумента metric в
sklearn.pairwise.pairwise_distancesи метрики, перечисленные вsklearn.metrics.pairwise.PAIRWISE_DISTANCE_FUNCTIONS. Обратите внимание, что метрика «cosine» используетcosine_distances.Добавлено в версии 0.20.
- Возвращает:
-
- trustworthinessfloat
-
Надёжность низкоразмерного встраивания.
Ссылки
[1]Jarkko Venna and Samuel Kaski. 2001. Neighborhood Preservation in Nonlinear Projection Methods: An Experimental Study. In Proceedings of the International Conference on Artificial Neural Networks (ICANN ‘01). Springer-Verlag, Berlin, Heidelberg, 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
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.manifold.trustworthiness.html