Запуск tslearn через reticulate приводит к TypeErrorPython

Программы на Python
Гость
Запуск tslearn через reticulate приводит к TypeError

Сообщение Гость »


Я пытаюсь запустить TimeSeriesKMeans из TSlearn через reticulate, но, видимо, не могу правильно преобразовать мой data.frame R в массив numpy. Полный код и ошибка ниже. Пожалуйста, посмотрите, что я делаю не так. Объяснение приветствуется, поскольку мои знания внутреннего устройства Python весьма скудны.

library(reticulate) библиотека(магриттр) reticulate::py_install(c("numpy", "pandas", "tslearn")) #> Использование виртуальной среды '/home/rstudio/.virtualenvs/r-reticulate' ... #> + /home/rstudio/.virtualenvs/r-reticulate/bin/python -m pip install --upgrade --no-user numpy pandas tslearn # Имитировать ритмический временной ряд время % матрица(., построка=ИСТИНА, ncol=длина(время)) %>% data.frame %>% setNames(paste0("время", время)) # Конвертируем time_series в массив numpy np требование версии пакета #> 1 контурный 1.1.0 контурный==1.1.0 #> 2 циклер 0.11.0 циклер==0.11.0 #> 3 dtaidistance 2.3.10 dtaidistance==2.3.10 #> 4 шрифтовых инструмента 4.42.0 Fonttools==4.42.0 #> 5 h5py 3.9.0 h5py==3.9.0 #> 6 importlib-metadata 6.8.0 importlib-metadata==6.8.0 #> 7 importlib-resources 6.0.1 importlib-resources==6.0.1 #> 8 библиотека заданий 1.3.2 библиотека заданий==1.3.2 #> 9 кивисолвер 1.4.4 кивисолвер==1.4.4 #> 10 llvmlite 0.41.0 llvmlite==0.41.0 #> 11 matplotlib 3.7.2 matplotlib==3.7.2 #> 12 natsort 8.4.0 natsort==8.4.0 #> 13 networkx 3.1 networkx==3.1 #> 14 число 0,58,0 число == 0,58,0 #> 15 numpy 1.24.4 numpy==1.24.4 #> 16 упаковка 23.1 упаковка==23.1 #> 17 панд 2.0.3 панд==2.0.3 #> 18 патси 0.5.3 патси==0.5.3 #> 19 Подушка 10.0.0 Подушка==10.0.0 #> 20 pkg_resources 0.0.0 pkg_resources==0.0.0 #> 21 поляра 0.18.15 поляра==0.18.15 #> 22 прогрессбар 2.5 прогрессбар==2.5 #> 23 pyarrow 12.0.1 pyarrow==12.0.1 #> 24 pyparsing 3.0.9 pyparsing==3.0.9 #> 25 python-dateutil 2.8.2 python-dateutil==2.8.2 #> 26 pytz 2023.3 pytz==2023.3 #> 27 scikit-fuzzy 0.4.2 scikit-fuzzy==0.4.2 #> 28 scikit-learn 1.3.1 scikit-learn==1.3.1 #> 29 scipy 1.10.1 scipy==1.10.1 #> 30 морское происхождение 0.12.2 морское происхождение==0.12.2 #> 31 шесть 1.16.0 шесть==1.16.0 #> 32 модели статистики 0.14.0 модели статистики==0.14.0 #> 33 threadpoolctl 3.2.0 threadpoolctl==3.2.0 #> 34 tslearn 0.6.2 tslearn==0.6.2 #> 35 tzdata 2023.3 tzdata==2023.3 #> 36 zipp 3.16.2 zipp==3.16.2 сетка::py_version() #> [1] '3,8' сессионная информация() #> R версия 4.2.1 (23 июня 2022 г.) #> Платформа: x86_64-pc-linux-gnu (64-разрядная версия) #> Работает под управлением: Ubuntu 20.04.4 LTS #> #> Продукты Matrix: по умолчанию #> BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 #> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3 #> #> локаль: #> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C #> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 #> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 #> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C #> [9] LC_ADDRESS=C LC_TELEPHONE=C #> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C #> #> прикрепленные базовые пакеты: #> [1] статистика графика grDevices использует базу методов наборов данных #> #> другие прикрепленные пакеты: #> [1] magrittr_2.0.3 сетка_1.31 #> #> загружается через пространство имен (и не прикрепляется): #> [1] Rcpp_1.0.9 rstudioapi_0.13 Knitr_1.39 Решетка_0.20-45 #> [5] R.cache_0.16.0 rlang_1.0.4 fastmap_1.1.0 fansi_1.0.3 #> [9] stringr_1.4.0 styler_1.10.2 highr_0.9 инструменты_4.2.1 #> [13]grid_4.2.1 xfun_0.32 png_0.1-7 R.oo_1.25.0 #> [17] utf8_1.2.2 cli_3.3.0 withr_2.5.0 htmltools_0.5.3 #> [21] yaml_2.3.5 дайджест_0.6.29 жизненный цикл_1.0.1 Матрица_1.4-1 #> [25] purrr_0.3.4 vctrs_0.4.1 R.utils_2.12.0 fs_1.5.2 #> [29] Glue_1.6.2 Assessment_0.16 rmarkdown_2.14 reprex_2.0.1 #> [33] stringi_1.7.8 Pillar_1.8.0 compiler_4.2.1 R.methodsS3_1.8.2 #> [37] jsonlite_1.8.0 Создано 22 сентября 2023 г. пакетом reprex (v2.0.1). py_last_error:
> reticulate::py_last_error() ── Сообщение об исключении Python ────────────────────────────────────────────────── ────────────────────────────────────────────────── ────────────────────────────────────────────────── ───────────────────────── Traceback (последний вызов последний): Файл "/home/rstudio/.virtualenvs/r-reticulate/lib/python3.8/site-packages/tslearn/clustering/kmeans.py", строка 821, соответствует self._fit_one_init(X_, x_squared_norms, rs) Файл «/home/rstudio/.virtualenvs/r-reticulate/lib/python3.8/site-packages/tslearn/clustering/kmeans.py», строка 675, в _fit_one_init self.cluster_centers_ = _k_init_metric( Файл «/home/rstudio/.virtualenvs/r-reticulate/lib/python3.8/site-packages/tslearn/clustering/kmeans.py», строка 98, в _k_init_metric центры = numpy.empty((n_clusters, n_timestamps, n_features), dtype=X.dtype) TypeError: объект «float» не может интерпретироваться как целое число ── R Traceback ───────────────────────────────────────────── ────────────────────────────────────────────────── ────────────────────────────────────────────────── ────────────────────────────────────────────────── ───────────────────────────────────── ▆ 1. ├─base::try(tsk$fit(ts_np)) 2. │ └─base::tryCatch(...) 3. │ └─базовый (локальный) tryCatchList(expr,classes,parentenv,handlers) 4. │ └─базовый (локальный) tryCatchOne(expr,names,parentenv,handlers[[1L]]) 5. │ └─базовый (локальный) doTryCatch(return(expr), name,parentenv, handler) 6. └─tsk$fit(ts_np) 7. └─reticulate:::py_call_impl(callable, call_args$unnamed, call_args$named)

Вернуться в «Python»