Не могу получить результат от объекта пикластеринга с сеткой - PullRequest
0 голосов
/ 18 мая 2018

Я хочу кластеризовать некоторые данные в R с библиотекой из Python (pyclustering).Я использую 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 голосов
/ 18 мая 2018

Я думаю, что проблема связана с использованием библиотеки pyclustering, а не с reticulate или R.Как указано в примере README , вам нужно запустить функцию 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

Также обратите внимание, что вам нужно явно указать целые числа, где ожидается

...