什么方法最适合聚类具有不规则形状的多维数据?
What methods are best for clustering multidimensional data that has irregular shape?
我是机器学习和数据分析的新手,我正在努力对我的数据进行聚类。我正在处理大约 40,000 个具有 6 个特征的观察结果。
我尝试了各种聚类方法,包括 K-Means、DBSCAN,还尝试了 scipy 带链接的层次聚类。在预处理过程中,缺失数据被估算并且所有数据被归一化。一旦我完成 PCA 将维度从 4 减少到 6,我的数据看起来像新月形状,可以在下面看到为蓝点。
我根据轮廓系数分析确定最好使用 10 个 K 均值聚类,结果如下:
数据聚类后进行PCA,结果变化不大。
DBSCAN 本身决定了 4 个聚类并给出了 4 个聚类,但大部分数据被排除在这些聚类之外并被描述为噪声。
对于分层方法,尝试执行 linkage() 时数据使用过多,并不断提供内存错误消息。
有什么方法可以对我的数据进行聚类吗?我的数据形状(新月)是否适用于其他建模方法?
不要运行不假思索地聚类先
聚类算法不得用作黑盒。他们需要小心使用,否则你只会得到垃圾。要正确使用它们,您需要了解每个算法的 objective。 K-means 是一种最小二乘法。如果您将它用于规范化程度很低的数据,它将失败。
从你的情节来看,你的数据库中有一条坏记录,很大程度上导致了"moon"形状:一切都需要尽可能远离那个坏记录。
除此之外:1. 您是否针对您的问题正确缩放了数据? 2.你选择了合适的距离度量吗?
我是机器学习和数据分析的新手,我正在努力对我的数据进行聚类。我正在处理大约 40,000 个具有 6 个特征的观察结果。
我尝试了各种聚类方法,包括 K-Means、DBSCAN,还尝试了 scipy 带链接的层次聚类。在预处理过程中,缺失数据被估算并且所有数据被归一化。一旦我完成 PCA 将维度从 4 减少到 6,我的数据看起来像新月形状,可以在下面看到为蓝点。
我根据轮廓系数分析确定最好使用 10 个 K 均值聚类,结果如下:
数据聚类后进行PCA,结果变化不大。
DBSCAN 本身决定了 4 个聚类并给出了 4 个聚类,但大部分数据被排除在这些聚类之外并被描述为噪声。
对于分层方法,尝试执行 linkage() 时数据使用过多,并不断提供内存错误消息。
有什么方法可以对我的数据进行聚类吗?我的数据形状(新月)是否适用于其他建模方法?
不要运行不假思索地聚类先
聚类算法不得用作黑盒。他们需要小心使用,否则你只会得到垃圾。要正确使用它们,您需要了解每个算法的 objective。 K-means 是一种最小二乘法。如果您将它用于规范化程度很低的数据,它将失败。
从你的情节来看,你的数据库中有一条坏记录,很大程度上导致了"moon"形状:一切都需要尽可能远离那个坏记录。
除此之外:1. 您是否针对您的问题正确缩放了数据? 2.你选择了合适的距离度量吗?