.通过Python实现Kmeans、DBSCAN算法,数据挖掘实验,具体代码示例
时间: 2024-11-09 08:28:21 浏览: 33
聚类算法Python实现(KMeans、DBSCAN)
在Python中,我们可以使用`sklearn`库来方便地实现K-means和DBSCAN聚类算法。以下是两个简单代码示例:
### K-Means聚类
```python
from sklearn.cluster import KMeans
import numpy as np
# 假设我们有一个二维数据集
data = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]])
# 定义并初始化KMeans模型
kmeans = KMeans(n_clusters=3) # 我们设定3个簇
# 训练模型
kmeans.fit(data)
# 获取聚类结果
labels = kmeans.labels_
# 可视化聚类结果
centroids = kmeans.cluster_centers_
print("Centroids: ", centroids)
print("Labels: ", labels)
```
### DBSCAN聚类
```python
from sklearn.cluster import DBSCAN
import pandas as pd
# 假设我们有一列二维坐标数据
df = pd.DataFrame({
'x': [1, 2, 5, 8, 1, 9],
'y': [2, 1.8, 8, 8, 0.6, 11]
})
# 定义并初始化DBSCAN模型
db = DBSCAN(eps=0.3, min_samples=3) # 设置邻域半径和最小样本数
# 训练模型
db.fit(df[['x', 'y']])
# 获取聚类标签
labels = db.labels_
# 打印聚类结果
unique_labels = set(labels)
print(f"Number of clusters: {len(unique_labels)}")
print("Cluster Labels: ", labels)
```
阅读全文