cluster_optics_xi#

sklearn.cluster.cluster_optics_xi(*, достижимость, предшественник, упорядочивание, min_samples, min_cluster_size=None, xi=0.05, предшествующая_коррекция=True)[источник]#

Автоматически извлекать кластеры в соответствии с методом Xi-steep.

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

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

предшественникndarray формы (n_samples,)

Предшественники, вычисленные OPTICS.

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

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

min_samplesint > 1 или float между 0 и 1

То же, что и min_samples, заданное для OPTICS. Восходящие и нисходящие крутые области не могут иметь более min_samples последовательные не крутые точки. Выражается как абсолютное число или доля от количества выборок (округляется до как минимум 2).

min_cluster_sizeint > 1 или float между 0 и 1, по умолчанию=None

Минимальное количество образцов в кластере OPTICS, выраженное как абсолютное число или доля от общего числа образцов (округляется до значения не менее 2). Если None, значение min_samples используется вместо.

xiчисло с плавающей точкой от 0 до 1, по умолчанию=0.05

Определяет минимальную крутизну на графике достижимости, которая считается границей кластера. Например, восходящая точка на графике достижимости определяется отношением от одной точки к следующей, которое не превышает 1-xi.

предшествующая_коррекцияbool, по умолчанию=True

Корректировка кластеров на основе вычисленных предшественников.

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

Метки, присвоенные образцам. Точки, которые не включены ни в один кластер, помечены как -1.

кластерыndarray формы (n_clusters, 2)

Список кластеров в виде [start, end] в каждой строке, с всеми индексами включительно. Кластеры упорядочены в соответствии с (end, -start) (по возрастанию), так что более крупные кластеры, включающие меньшие кластеры, идут после таких вложенных меньших кластеров. Поскольку labels не отражает иерархию, обычно len(clusters) > np.unique(labels).

Примеры

>>> import numpy as np
>>> from sklearn.cluster import cluster_optics_xi, 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
... )
>>> min_samples = 2
>>> labels, clusters = cluster_optics_xi(
...     reachability=reachability,
...     predecessor=predecessor,
...     ordering=ordering,
...     min_samples=min_samples,
... )
>>> labels
array([0, 0, 0, 1, 1, 1])
>>> clusters
array([[0, 2],
       [3, 5],
       [0, 5]])