import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import DBSCAN import scipy.io # Step 1: Get data data = scipy.io.loadmat('HWMar26data.mat') X=data.get('A') # Run DBSCAN Clustering Algorithm epsilon=0.06 MinPts=4 dbscan=DBSCAN(eps=epsilon,min_samples=MinPts) IDX=dbscan.fit_predict(X) # Plot results plt.figure(figsize=(8, 6)) unique_labels = set(IDX) colors = [plt.cm.jet(each) for each in np.linspace(0, 1, len(unique_labels))] for label, col in zip(unique_labels, colors): if label == -1: col = (0, 0, 0, 1) # Black for noise mask = (IDX == label) plt.scatter(X[mask, 0], X[mask, 1], c=[col], label=f"Cluster {label}") plt.legend() plt.title("DBSCAN Clustering") plt.show()