我想将 Mahalanobis
距离与 DBSCAN
结合使用。
对于 NearestNeighbors
,您可以传递 metric='mahalanobis'
和 metric_params={'V': np.cov(X)}
以使用 Mahalanobis
距离。
DBSCAN(eps=0.15, min_samples=8, metric='...', algorithm='brute', leaf_size=30, n_jobs=-1)
但是如何使用
DBSCAN
做到这一点? 最佳答案
似乎您需要通过例如创建指标DistanceMetric
。
例如,您可以使用:
import numpy as np
from sklearn.datasets import make_classification
from sklearn.neighbors import DistanceMetric
from sklearn.cluster import DBSCAN
X, y = make_classification()
metric = DistanceMetric.get_metric('mahalanobis', V=np.cov(X))
sklearn.cluster.DBSCAN(eps=0.15, min_samples=8, metric=metric,
algorithm='brute', leaf_size=30, n_jobs=-1)
关于python - 在 DBSCAN 中使用替代距离度量,例如 Mahalanobis,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45031509/