Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对于低密度差异的多维数据,哪种聚类算法最好?_Python_Cluster Analysis_Data Science_K Means_Dbscan - Fatal编程技术网

Python 对于低密度差异的多维数据,哪种聚类算法最好?

Python 对于低密度差异的多维数据,哪种聚类算法最好?,python,cluster-analysis,data-science,k-means,dbscan,Python,Cluster Analysis,Data Science,K Means,Dbscan,我目前正在从事一个项目,我希望对多维数据进行聚类。我尝试了K-Means聚类和DBSCAN聚类,它们都是完全不同的算法 K-Means模型返回了相当好的输出,它返回了5个簇,但我已经读到,当维度较大时,欧几里德距离失败,因此我不知道我是否可以信任该模型 在尝试DBSCAN模型时,该模型生成了大量噪声点,并将大量点聚集在一个簇中。我尝试了KNN距离图法来寻找模型的最佳每股收益,但我似乎无法使模型工作。这导致了我的结论,可能绘制的点的密度非常高,可能这就是我在一个簇中获得很多点的原因 对于集群,我使

我目前正在从事一个项目,我希望对多维数据进行聚类。我尝试了K-Means聚类和DBSCAN聚类,它们都是完全不同的算法

K-Means模型返回了相当好的输出,它返回了5个簇,但我已经读到,当维度较大时,欧几里德距离失败,因此我不知道我是否可以信任该模型

在尝试DBSCAN模型时,该模型生成了大量噪声点,并将大量点聚集在一个簇中。我尝试了KNN距离图法来寻找模型的最佳每股收益,但我似乎无法使模型工作。这导致了我的结论,可能绘制的点的密度非常高,可能这就是我在一个簇中获得很多点的原因


对于集群,我使用了10列不同的数据我应该更改我使用的算法吗?对于多维数据和密度变化较小的数据,有什么更好的算法?

也许这会给你一些启示:
我建议你试试看。希望有帮助

您可以首先使用PCA/LDA/t-sne或自动编码器对数据集进行降维。然后运行standart的一些聚类算法


另一种方法是可以使用奇特的深度聚类方法。这非常好地解释了他们如何在高维数据集上应用深度聚类

嗨。这个问题是合理的,但可能更适合这类问题,你会更快地得到答案。堆栈溢出更多的是关于一般的软件开发,然后是机器学习。好的,谢谢!我会查出来的谢谢!它确实给出了不同算法的用例,我会检查一下。你对我的问题有什么建议吗?如果K-Means不能提供令人满意的结果,我会建议亲和传播、凝聚聚类或光谱聚类。我想尝试一下PCA,但实际上没有做到。我试试你的建议。我只是有点怀疑,这可能有点愚蠢,但PCA中的降维是否意味着消除维度?PCA使用正交变换将特征转换为线性不相关的特征。因此,PCA创建了新的主要组件(新功能而不是旧功能),它们是您的功能的混合。您可以指定部件编号(新尺寸)。如果您能帮助他人,请接受答案。我知道我有点晚了,无法将您的答案标记为正确答案。我花了一些时间来理解PCA和t-SNE,但我最终感到满意。我将PCA与t-SNE配对,使用PCA进行降维,使用t-SNE可视化不同聚类程序的结果。谢谢你的回答!