Bonjour;
Je voudrais appliquer des calculs de classification de données sur un ficher de grande taille, et ce en utilisant une fonction déjà développée par moi même nommée "EFCM" ainsi que la fonction "cmeans" du package "e1071" .
Pour cela j'ai divisé le fichier principal en 5 fichiers de tailles réduites pour que je puisse appliquer le calcul parallèle en utilisant 5 cores. Je travaille sous windows et j'ai un processeur de 4 cœurs physiques.
le code est le suivant:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| setwd("C:/Users/GM/Documents/")
library(e1071)
source("EFCM.R")
library(doParallel)
registerDoParallel(5)
MaFonction<- function(){
setwd("C:/Users/GM/Documents/datasets/S2D")
values <- 1:length(list.files()) # pour parcourir les indices des 5 fichiers
#boucle foreach ... %dopar%
MyEFCM <- foreach(i=values, .export = c("EFCM","cmeans"), .inorder = FALSE) %dopar%
{
EFCM(i) # le fonction EFCM (i) prend l'indice i du fichier, le traite en faisant appel à la fonction "cmeans"
}
return(MyEFCM)
} |
après compilation, il n'affiche pas d'erreurs, mais au moment d'exécution en lançant l'instruction ">MaFonction()", il m'affiche l'erreur suivante:
Error in { : task 1 failed - "impossible d'ouvrir la connexion"
Partager