小编eod*_*eod的帖子

Nbclust Kmeans 错误的聚类中心多于不同的数据点

当我想预测具有 3120 个观测值和 40 个变量的二进制矩阵中的簇数时,我在 Nbclust (method = "kmeans") 中遇到错误。矩阵维度为:

size(mtrx)
3120 40
class(mtrx)
'matrix'
Run Code Online (Sandbox Code Playgroud)

代码行是:

number_of_clusters<-NbClust(data=mtrx, diss=NULL, distance = "euclidean",
                            min.nc=2, max.nc=1600, method = "kmeans",
                            index = "alllong")
Run Code Online (Sandbox Code Playgroud)

错误信息是:

Error in kmeans(jeu, max_nc): more cluster centers than distinct data points.
Run Code Online (Sandbox Code Playgroud)

当我使用时,错误仍然存​​在distance = "binary"。如果我选择任何其他方法类型,则不会出现错误。

我在这里有点困惑。我想max.nc应该是这样3119。有什么帮助吗?

编辑:
此错误与 NbClust 包无关,它来自 kmeans 函数。线索就在“独特”这个词中,这很有趣,但我没听懂那部分。我想图片比文字更能说明一切。所以事情是这样的:

让我们从正确的方法开始。在本例中,我有一个至少包含 3 个不同行的数据集,并且我要求在 kmeans 中提供 3 个初始中心:

Vector<-c(2,2,2,2,2,2,20,10,500,300,400,2)
MATRIX<-matrix(Vector,nrow=4,ncol=3,byrow=TRUE)
print(MATRIX)
km<-kmeans(MATRIX,centers=3)  
    [,1] [,2] [,3]
[1,]   2    2    2 …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
0
解决办法
2395
查看次数

从 DataFrame 并行计算距离相关性 (dcor)

我有一个有 50 行和 22000 列的 Pandas DataFrame,我想计算每对列之间的距离相关性(dcor 包)。我创建的代码(带有串行处理和部分数据)是:

import pandas as pd
import dcor

DF = pd.DataFrame({'X':[0.72,-0.25,-1.2,-3],'Y':[-0.128,0.2,2,5.6],'Z':[15,-0.425,-0.3,-5]})

DCOR_REZ=pd.DataFrame(index=['X','Y','Z'],columns=['X','Y','Z'])
col_names=DCOR_REZ.columns.tolist()
k=0
for i in col_names:

    v1=DF.loc[:,i].as_matrix()
    for j in col_names[k:]:

        v2=DF.loc[:,j].as_matrix()
        rez=dcor.distance_correlation(v1,v2)
        DCOR_REZ.at[i,j]=rez
        DCOR_REZ.at[j,i]=rez

    k=k+1

print DCOR_REZ

         X        Y        Z
X        1 0.981778 0.854349
Y 0.981778        1 0.726328
Z 0.854349 0.726328        1
Run Code Online (Sandbox Code Playgroud)

要在完整的 DataFrame 上执行此代码,我需要 21 小时!.

由于我的服务器有40 个处理器,我想将时间减少 40 并在大约 30 分钟内获得结果,但我不知道如何重写此代码以进行并行处理

我怎样才能重写代码?

任何帮助表示赞赏。

parallel-processing dataframe python-2.7 pandas

3
推荐指数
1
解决办法
923
查看次数

标签 统计

dataframe ×1

pandas ×1

parallel-processing ×1

python-2.7 ×1

r ×1