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]])