Python DBSCAN 聚类算法示例:基于密度聚类的数据可视化
Python DBSCAN 聚类算法示例:基于密度聚类的数据可视化
本示例展示如何使用 Python 的 DBSCAN 聚类算法对随机数据进行聚类,并利用 matplotlib 库可视化聚类结果。
代码:
import numpy as np
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
# 生成数据
X = np.random.randn(100, 2)
# 使用密度聚类算法进行聚类
db = DBSCAN(eps=0.3, min_samples=5).fit(X)
labels = db.labels_
# 绘制聚类结果图
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.title('Density-Based Clustering')
plt.show()
程序设计思路:
- 导入需要的库: 包括
numpy用于数据操作,sklearn.cluster用于调用 DBSCAN 算法,matplotlib.pyplot用于绘制图像。 - 生成数据: 使用
numpy.random.randn函数生成 100 个二维数据点。 - 使用 DBSCAN 算法进行聚类: 设置
eps和min_samples参数,分别代表邻域半径和每个核心点所需的最小样本数,得到每个数据点的聚类标签。 - 绘制聚类结果图: 使用
matplotlib.pyplot.scatter函数,传入数据点的 x 和 y 坐标以及聚类标签作为颜色参数,设置标题并显示图像。
代码解释:
X = np.random.randn(100, 2):生成 100 个二维随机数据点,每个数据点包含两个随机数。db = DBSCAN(eps=0.3, min_samples=5).fit(X):创建 DBSCAN 对象,设置参数eps为 0.3,min_samples为 5,并拟合数据。labels = db.labels_:获取每个数据点的聚类标签。plt.scatter(X[:, 0], X[:, 1], c=labels):绘制散点图,将数据点的 x 和 y 坐标作为横纵坐标,并根据聚类标签labels设置点的颜色。plt.title('Density-Based Clustering'):设置图像标题。plt.show():显示图像。
总结:
本示例演示了如何使用 Python 的 DBSCAN 聚类算法对随机数据进行聚类,并利用 matplotlib 库可视化聚类结果。该算法可以有效地将具有较高密度的点聚集成簇,而将稀疏的点标记为噪声。
原文地址: https://www.cveoy.top/t/topic/jFTb 著作权归作者所有。请勿转载和采集!