无法从具有网状的pyclustering对象获得结果

时间:2018-05-18 08:30:25

标签: r reticulate

我想使用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

请问,哪里有问题?

1 个答案:

答案 0 :(得分:2)

我认为问题在于使用pyclustering库而不是reticulateR。如README 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

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