要比较K-means散点图与真实散点图的解决方法,可以按照以下步骤进行:
import numpy as np
import matplotlib.pyplot as plt
# 生成真实散点图数据
np.random.seed(0)
n_samples = 100
X = np.random.rand(n_samples, 2) * 10
y = np.random.randint(0, 2, size=n_samples)
# 可视化真实散点图
plt.scatter(X[:, 0], X[:, 1], c=y)
plt.title("True Scatter Plot")
plt.show()
from sklearn.cluster import KMeans
# 使用K-means算法进行聚类
kmeans = KMeans(n_clusters=2, random_state=0)
kmeans.fit(X)
# 获取K-means聚类结果
kmeans_labels = kmeans.labels_
# 可视化K-means散点图
plt.scatter(X[:, 0], X[:, 1], c=kmeans_labels)
plt.title("K-means Scatter Plot")
plt.show()
# 可视化对比真实散点图和K-means散点图
fig, ax = plt.subplots(1, 2, figsize=(12, 6))
ax[0].scatter(X[:, 0], X[:, 1], c=y)
ax[0].set_title("True Scatter Plot")
ax[1].scatter(X[:, 0], X[:, 1], c=kmeans_labels)
ax[1].set_title("K-means Scatter Plot")
plt.show()
通过上述代码示例,可以生成真实散点图和K-means散点图,并将它们在同一图中进行比较,从而对比两者之间的相似性或差异性。