cluster_optics_dbscan#
- sklearn.cluster.cluster_optics_dbscan(*, reachability, core_distances, ordering, eps)[原始碼]#
針對任意 epsilon 執行 DBSCAN 提取。
提取群集以線性時間執行。請注意,這會產生
labels_
,其接近於具有相似設定和eps
的DBSCAN
,僅當eps
接近max_eps
時才成立。- 參數:
- reachability形狀為 (n_samples,) 的 ndarray
由 OPTICS 計算的可達性距離(
reachability_
)。- core_distances形狀為 (n_samples,) 的 ndarray
點成為核心的距離(
core_distances_
)。- ordering形狀為 (n_samples,) 的 ndarray
OPTICS 排序的點索引(
ordering_
)。- eps浮點數
DBSCAN
eps
參數。必須設定為 <max_eps
。如果eps
和max_eps
彼此接近,則結果將接近 DBSCAN 演算法。
- 回傳值:
- 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])