安装scikit-learn 机器学习Python包,使用K-Means和DBSCAN对make_blobs数据聚类,聚类结果画图呈现。
时间: 2024-12-23 18:19:09 浏览: 3
安装Scikit-learn首先需要确保你的Python环境中已经安装了pip(Python包管理器),然后通过命令行输入以下命令:
```bash
pip install -U scikit-learn
```
这将更新到最新的scikit-learn版本。安装完成后,你可以使用下面的代码来对MakeBlobs生成的数据集进行K-Means和DBSCAN聚类,并绘制结果:
```python
from sklearn.cluster import KMeans, DBSCAN
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
# 生成随机数据集
X, y = make_blobs(n_samples=500, centers=4, random_state=42)
# 使用K-Means聚类
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
labels_kmeans = kmeans.labels_
# 使用DBSCAN聚类
db = DBSCAN(eps=0.3, min_samples=10) # 调整eps和min_samples参数
db.fit(X)
labels_dbscan = db.labels_
# 绘制聚类结果
plt.figure(figsize=(10, 6))
plt.scatter(X[:, 0], X[:, 1], c=['red', 'blue', 'green', 'yellow'], label=['Cluster 1', 'Cluster 2', 'Cluster 3', 'Cluster 4'])
plt.title('K-Means Clustering')
plt.legend()
plt.figure(figsize=(10, 6))
plt.scatter(X[:, 0], X[:, 1], c=[-1 if l == -1 else labels_dbscan[l] for l in labels_dbscan], cmap='viridis') # -1代表噪声点
plt.title('DBSCAN Clustering')
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.legend()
plt.show()
```
这里我们创建了一个包含4个簇的随机数据集,然后分别进行了K-Means(硬分组)和DBSCAN(基于密度的聚类)聚类,并将结果可视化。
阅读全文