import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import DBSCAN
dataS = np.genfromtxt('testSet.txt')
plt.scatter(dataS[:,0],dataS[:,1])
plt.show()
dbscan = DBSCAN(eps=1.5,min_samples=5)
dbscan.fit(dataS)
result = dbscan.fit_predict(dataS)
print(result)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.scatter(dataS[result==-1,0],dataS[result==-1,1],s=150,c='purple',marker='8',label='噪声点')
plt.scatter(dataS[result==0,0],dataS[result==0,1],s=150,c='orange',marker='o',label='cluster=1')
plt.scatter(dataS[result==1,0],dataS[result==1,1],s=150,c='green',marker='s',label='cluster=2')
plt.scatter(dataS[result==2,0],dataS[result==2,1],s=150,c='blue', marker='^',label='cluster=3')
plt.scatter(dataS[result==3,0],dataS[result==3,1],s=150,c='red',marker='*',label='cluster=4')
plt.scatter(dataS[result==4,0],dataS[result==4,1],s=150,c='black',marker='p',label='cluster=5')
plt.legend(loc='lower left',bbox_to_anchor=(-0.4,0.5,0.1,0.1))
plt.show()
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b0f4c1df559033ee2634d1653d998827.png)
x1,y1 = datasets.make_circles(n_samples=2000,factor=0.5,noise=0.05)
x2,y2 = datasets.make_blobs(n_samples=1000,centers=[[1.2,1.2]],cluster_std=[[.1]])
x=np.concatenate((x1,x2))
plt.scatter(x[:,0],x[:,1],marker='o')
plt.show()
dbscan = DBSCAN(eps=0.2,min_samples=50)
cluster=dbscan.fit_predict(x)
print(cluster)
plt.scatter(x[:,0],x[:,1],c=cluster)
plt.show()
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/aed2f85d24a155c894398bdd66eec5c0.png)