完成填空 import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn.datasets import make_blobs # 生成样例数据集 300条数据,4个类 std=2 data, labels = make_blobs( ) # 数据可视化 plt.scatter(data[:, 0], data[:, 1], s=50) plt.title("原始数据分布") plt.show() # K-means聚类分析 kmeans = #DBSCAN聚类分析 # 可视化聚类结果 plt.scatter(data[:, 0], data[:, 1], c=, s=50, cmap='viridis') #画出类中心 plt.scatter( , c='red', marker='x', s=200) plt.title("K-means聚类结果") plt.show() # 可视化聚类结果 plt.scatter(data[:, 0], data[:, 1], c=, s=50, cmap='viridis') #画出类中心 plt.scatter( , c='red', marker='x', s=200) plt.title("DBSCAN聚类结果") plt.show()
时间: 2024-01-23 19:03:21 浏览: 84
完成代码如下:
```
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans, DBSCAN
from sklearn.datasets import make_blobs
# 生成样例数据集 300条数据,4个类 std=2
data, labels = make_blobs(n_samples=300, centers=4, cluster_std=2)
# 数据可视化
plt.scatter(data[:, 0], data[:, 1], s=50)
plt.title("原始数据分布")
plt.show()
# K-means聚类分析
kmeans = KMeans(n_clusters=4)
kmeans.fit(data)
# DBSCAN聚类分析
dbscan = DBSCAN(eps=1.5, min_samples=5)
dbscan.fit(data)
# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=kmeans.labels_, s=50, cmap='viridis') # K-means聚类结果
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], c='red', marker='x', s=200) # 画出类中心
plt.title("K-means聚类结果")
plt.show()
plt.scatter(data[:, 0], data[:, 1], c=dbscan.labels_, s=50, cmap='viridis') # DBSCAN聚类结果
plt.scatter(data[dbscan.core_sample_indices_][:, 0], data[dbscan.core_sample_indices_][:, 1], c='red', marker='x', s=200) # 画出核心点
plt.title("DBSCAN聚类结果")
plt.show()
```
阅读全文