Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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_Spectral - Fatal编程技术网

Python 基于亲和矩阵的谱聚类

Python 基于亲和矩阵的谱聚类,python,cluster-analysis,spectral,Python,Cluster Analysis,Spectral,我有一个182个用户的亲和矩阵。我想根据相似度矩阵对用户进行聚类。但结果似乎是将几乎所有的用户聚集到一个集群中。有人能解释一下吗 对于相似矩阵。有182*182个条目。6510个条目>0.001,最大值>0.97。对话框矩阵为0。这个相似矩阵有问题吗?或者光谱聚类不适合这种情况吗?您还推荐其他聚类方法吗?您提供的统计数据不够完整,无法给出明确的意见,但我可以从结果中做出一些猜测。我怀疑这个问题是因为在你的空间中有一系列连接良好的条目 以1个单位的间隔,想象一条包含182个项目的简单直线,亲和力是

我有一个182个用户的亲和矩阵。我想根据相似度矩阵对用户进行聚类。但结果似乎是将几乎所有的用户聚集到一个集群中。有人能解释一下吗


对于相似矩阵。有182*182个条目。6510个条目>0.001,最大值>0.97。对话框矩阵为0。这个相似矩阵有问题吗?或者光谱聚类不适合这种情况吗?您还推荐其他聚类方法吗?

您提供的统计数据不够完整,无法给出明确的意见,但我可以从结果中做出一些猜测。我怀疑这个问题是因为在你的空间中有一系列连接良好的条目

以1个单位的间隔,想象一条包含182个项目的简单直线,亲和力是线性距离立方的倒数。你的近邻有1/1的亲缘关系;下一个是1/8,然后是1/27,1/64

这使得每个实体只有20个近邻(每边10个),其亲和性>=0.001,总共3640个(如果允许环绕)加上主对角线。这比您的实际示例要少。然而,由于近邻的亲和力为1,几乎任何聚类算法的自然连接最终都会将所有这些合并到一个类中。这套设备高度连接,但不是特别紧凑



因此,问题变成了,“什么样的聚类适合于数据的形状?”您能否以某种方式描述单个条目的连接性、紧凑性和连接性?您是否看到任何自然聚集和切割点?

您研究过数据吗?也许几乎所有的用户都非常相似?
    import csv
    import numpy as np
    from sklearn.cluster import SpectralClustering
    reader = csv.reader(open("/Users/Desktop/user2.csv","rU"),
                        dialect=csv.excel_tab)
    x = list(reader)
    result = np.array(x).astype('float')
    lena = result.reshape(182, 182)
    type(lena)
    # Apply spectral clustering (this step goes much faster if you have pyamg
    # installed)
    label = SpectralClustering(n_clusters=5, 
                               affinity='precomputed').fit_predict(lena)