I want to use Mahalanobis
distance in combination with DBSCAN
.
For NearestNeighbors
you can pass metric='mahalanobis'
and metric_params={'V': np.cov(X)}
for using Mahalanobis
distance.
DBSCAN(eps=0.15, min_samples=8, metric='...', algorithm='brute', leaf_size=30, n_jobs=-1)
But how to do it with DBSCAN
?
The answers above didn't work for me at the beginning of 2021. Today, you don't pass a distance object, instead you pass a dictionary with the mahalanobis covariance parameter.
The example above would look like this:
import numpy as np
from sklearn.datasets import make_classification
from sklearn.cluster import DBSCAN
X, y = make_classification()
sklearn.cluster.DBSCAN(eps=0.15, min_samples=8, metric='mahalanobis', metric_params={'V':np.cov(X)}, algorithm='brute', leaf_size=30, n_jobs=-1)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With