【发布时间】:2017-09-14 12:31:18
【问题描述】:
我已经对 3 个特征 Feature1、Feature2 和 Feature3 进行了聚类,并提出了 2 个聚类。 我正在尝试使用 matplotlib 可视化 3D 集群。
在下表中,执行聚类的三个特征。簇数为 2。
Feature1 Feature2 Feature3 ClusterIndex
0 1.349656e-09 1.000000 1.090542e-09 0
1 1.029752e-07 1.000000 6.040669e-08 0
2 2.311729e-07 1.000000 1.568289e-11 0
3 1.455860e-08 6.05e-08 1.000000 1
4 3.095807e-07 2.07e-07 1.000000 1
试过这段代码:
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = np.array(df['Feature1'])
y = np.array(df['Feature2'])
z = np.array(df['Feature3'])
ax.scatter(x,y,z, marker=colormap[kmeans.labels_], s=40)
但是,我收到错误 "ValueError: could not convert string to float: red"。因此,标记部分是我得到错误的地方。
通过在散点图中绘制点并使用集群标签进行区分,集群的 2D 可视化非常简单。
只是想知道有没有办法对集群进行 3D 可视化。
任何建议将不胜感激!!
【问题讨论】:
-
我收到错误“ValueError:无法将字符串转换为浮点数:红色”。标记部分是我得到错误的地方。它无法将字符串转换为浮点数。类型转换没有帮助。在 2D 绘图中,它可以工作,但不确定为什么它不适用于 3D 绘图。
-
那么,
colormap是什么,kmeans.labels_是什么? -
@ ImportanceOfBeingErnest :kmeans.labels 是集群索引,如 0 和 1(因为我有 2 个集群)。颜色图将标签转换为颜色。
标签: matplotlib cluster-analysis visualization