cluster_optics_dbscan#

sklearn.cluster.cluster_optics_dbscan(*, достижимость, core_distances, упорядочивание, eps)[источник]#

Выполнить извлечение DBSCAN для произвольного эпсилон.

Извлечение кластеров выполняется за линейное время. Обратите внимание, что это приводит к labels_ которые близки к DBSCAN с аналогичными настройками и eps, только если eps близко к max_eps.

Параметры:
достижимостьndarray формы (n_samples,)

Расстояния достижимости, рассчитанные OPTICS (reachability_).

core_distancesndarray формы (n_samples,)

Расстояния, на которых точки становятся ядром (core_distances_).

упорядочиваниеndarray формы (n_samples,)

Упорядоченные индексы точек OPTICS (ordering_).

epsfloat

DBSCAN eps параметр. Должен быть установлен в < max_eps. Результаты будут близки к алгоритму DBSCAN, если eps и max_eps близки друг к другу.

Возвращает:
labels_массив формы (n_samples,)

Оцененные метки.

Примеры

>>> import numpy as np
>>> from sklearn.cluster import cluster_optics_dbscan, compute_optics_graph
>>> X = np.array([[1, 2], [2, 5], [3, 6],
...               [8, 7], [8, 8], [7, 3]])
>>> ordering, core_distances, reachability, predecessor = compute_optics_graph(
...     X,
...     min_samples=2,
...     max_eps=np.inf,
...     metric="minkowski",
...     p=2,
...     metric_params=None,
...     algorithm="auto",
...     leaf_size=30,
...     n_jobs=None,
... )
>>> eps = 4.5
>>> labels = cluster_optics_dbscan(
...     reachability=reachability,
...     core_distances=core_distances,
...     ordering=ordering,
...     eps=eps,
... )
>>> labels
array([0, 0, 0, 1, 1, 1])