聚类算法——DBSCAN
1. 导包
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.cluster import DBSCAN
2. 原始数据
x1, y1 = datasets.make_circles(n_samples=1000, factor=0.35, noise=0.04)
x2, y2 = datasets.make_blobs(n_samples=1000, centers=[[0.45, 0.5]], cluster_std=[[0.03]])
x3, y3 = datasets.make_blobs(n_samples=1000, centers=[[-0.45, 0.5]], cluster_std=[[0.03]])
X = np.concatenate((x1, x2, x3))
plt.scatter(X[:, 0], X[:, 1], marker='o')
plt.show()

3. 数据预处理
4. 构建DBSCAN模型
model = DBSCAN(eps=0.1, min_samples=10)
y_predict = model.fit_predict(X)
5. 聚类结果展示
plt.scatter(X[:, 0], X[:, 1], c=y_predict)
plt.show()
