我想用Python(pyclustering)中的库在R中聚集一些数据。
我正在使用reticulate包来做到这一点:

library(reticulate)
# create some random array
np <- import("numpy", convert = FALSE)
dat <- np$random$rand(100,2)
# clustering with CURE
clus_cure <- import("pyclustering.cluster.cure")
clus_res <- clus_cure$cure(dat, 2)
clus_res$get_clusters()


但它返回NULL

拜托,哪里有问题?

最佳答案

我认为问题是使用pyclustering库而不是使用reticulateR。如自述文件example中所述,您需要在process()对象上运行<pyclustering.cluster.cure.cure>函数:

library(reticulate)
# create some random array
np <- import("numpy", convert = FALSE)
dat <- np$random$rand(10L,2L)
# clustering with CURE
clus_cure <- import("pyclustering.cluster.cure")
clus_res <- clus_cure$cure(data = dat, number_cluster=2L)
clus_res$process()
print(clus_res$get_clusters())
#> [[1]]
#> [1] 2 3 8 0 1 7 4 9
#>
#> [[2]]
#> [1] 5 6


另外,请注意,您需要在预期的地方显式指定整数

关于r - 无法从带有网状结构的pyclustering对象获得结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50407012/

10-11 17:49