++++Data Science
May 2026×Notebook lesson
Notebook converted from Jupyter for blog publishing.
00-DBSCAN
Driptanil DattaSoftware Developer
Introduction to DBSCAN
Let's briefly explore visually the differences between DBSCAN and other clustering techniques, such as K-Means Clustering.
DBSCAN and Clustering Examples
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as snsblobs = pd.read_csv('../DATA/cluster_blobs.csv')blobs.head()HTML
MORE
X1
X2
0
4.645333
6.822294sns.scatterplot(data=blobs,x='X1',y='X2')RESULT
<AxesSubplot:xlabel='X1', ylabel='X2'>PLOT

moons = pd.read_csv('../DATA/cluster_moons.csv')moons.head()HTML
MORE
X1
X2
0
0.674362
-0.444625sns.scatterplot(data=moons,x='X1',y='X2')RESULT
<AxesSubplot:xlabel='X1', ylabel='X2'>PLOT

circles = pd.read_csv('../DATA/cluster_circles.csv')circles.head()HTML
MORE
X1
X2
0
-0.348677
0.010157sns.scatterplot(data=circles,x='X1',y='X2')RESULT
<AxesSubplot:xlabel='X1', ylabel='X2'>PLOT

Label Discovery
def display_categories(model,data):
labels = model.fit_predict(data)
sns.scatterplot(data=data,x='X1',y='X2',hue=labels,palette='Set1')Kmeans Results
from sklearn.cluster import KMeans
model = KMeans(n_clusters = 2)display_categories(model,moons)PLOT

model = KMeans(n_clusters = 3)
display_categories(model,blobs)PLOT

model = KMeans(n_clusters = 2)
display_categories(model,circles)PLOT

DBSCAN Results
from sklearn.cluster import DBSCANmodel = DBSCAN(eps=0.6)display_categories(model,blobs)PLOT

model = DBSCAN(eps=0.15)
plt.figure(figsize=(10,6),dpi=150)
display_categories(model,moons)PLOT

display_categories(model,circles)PLOT

Let's further explore DBSCAN Hyperparameters!