我想使用hdbscan并将度量标准选项调整为'mahalanobis'
例如,我有3维值。有可能吗?
feature1 = dataframe['1', '2', '3']
value = feature1.to_numpy()
metric = DistanceMetric.get_metric('mahalanobis', V = np.cov(gcoord))
clusterer = hdbscan.HDBSCAN(
min_cluster_size=15,
gen_min_span_tree=True,
cluster_selection_epsilon=1,
metric=metric
)
但是,我收到此错误
ValueError: Unknown metric <sklearn.neighbors._dist_metrics.MahalanobisDistance
object at 0x0000022A7FD97F98>.
Valid metrics are ['euclidean', 'l2', 'l1', 'manhattan', 'cityblock', 'braycurtis',
'canberra', 'chebyshev', 'correlation', 'cosine', 'dice', 'hamming', 'jaccard',
'kulsinski', 'mahalanobis', 'matching', 'minkowski', 'rogerstanimoto', 'russellrao',
'seuclidean', 'sokalmichener', 'sokalsneath', 'sqeuclidean', 'yule', 'wminkowski',
'nan_euclidean', 'haversine'], or 'precomputed', or a callable
或者,那些谁知道指标选项?
clusterer = hdbscan.HDBSCAN(
min_cluster_size=15,
gen_min_span_tree=True,
cluster_selection_epsilon=1,
metric='mahalanobis'
)