X-Git-Url: https://git.auder.net/?p=epclust.git;a=blobdiff_plain;f=TODO;h=53a82b30bc833aa1a2ff2be7735afdadd05ac961;hp=96a8221f6b61b77fa95f0d3e59cab4b50f3ab899;hb=eef6f6c97277ea3ce760981e5244cbde7fc904a0;hpb=d7d55bc1e74711b0da84578ecdebc43eeb259599 diff --git a/TODO b/TODO index 96a8221..53a82b3 100644 --- a/TODO +++ b/TODO @@ -1,13 +1,7 @@ simulateur : complètement aléatoire ? from Irish dataset ? +wmtsa : wavBootstrap wavelets methods in statistics with R - p180 -00-convertir2009 et 2010.R -01-extractFeatures.R pour 2009 [utilise Stbr.R] (car on prédit 2010, pas besoin) -02-cluster2009.R -03-compute-sum-of-classes2009.R -05-cluster2WER-2009.R -06-prediction.R - Essayer distance wdist du package biwavelet ? geometric structure of high dim data and dim reduction 2011 @@ -18,64 +12,61 @@ A faire: - finir les experiences (sur nb de classes, nb de curves / chunk, nb de procs) et sur d'autres architectures -dans old_C_code/build : -cmake ../stage1/src -make - -dans data/, lancer R puis : -source("../old_C_code/wrapper.R") -serialize("../old_C_code/build", "2009.csv","2009.bin",1) -library(parallel) -np = detectCores() -nbSeriesPerChunk = 3000 -nbClusters = 20 -ppam_exe("../old_C_code/build",np,"2009.bin",nbSeriesPerChunk,nbClusters) -C = getMedoids("../old_C_code/build", "ppamResult.xml", "ppamFinalSeries.bin") -first100series = deserialize("../old_C_code/build", "2009.bin", "2009.csv.part", "1-100") -distor = getDistor("../old_C_code/build", "ppamResult.xml", "2009.bin") - -- interface matrice -> binaire - OK - - - courbe synchrone - ?? - Piste à explorer pour les comparaisons: H20 renvoyer nombre d'individues par classe ? (+ somme ?) hypothèse : données déjà ordonnées 48 1/2H sur 365j utiliser du mixmod avec modèles allongés -doit toutner sur machine plutôt standard, utilisateur "lambda" +doit tourner sur machine plutôt standard, utilisateur "lambda" utiliser Rcpp ? -===== - -strategies for upscaling -From 25K to 25M : in 1000 chunks of 25K -Reference values : - K0 = 200 super consumers (SC) - K∗ = 15 nal clusters -1st strategy - Do 1000 times ONLY Energycon's 1st-step strategy on 25K clients - With the 1000 × K0 SC perform a 2-step run leading to K∗ clusters - ---> il faut lancer 1000(param: nbTasks?) tâches avec itérations (éventuelles) ---> écrire tous les résultats, puis les récupérer pour démarrer : ---> phase 2 sur 1000xK0 médoïdes - -2nd strategy - Do 1000 times Energycon's 2-step strategy on 25K clients leading to - 1000 × K∗ intermediate clusters - Treat the intermediate clusters as individual curves and perform a - single 2-step run to get K∗ final clusters - ---> 1000(nbTasks) tâches avec itérations possibles, puis phase 2 en fin de chaqune des 1000 -tâches. On obtient 1000xK* médoïdes ---> Phase 2 sur les 1000xK* médoïdes - #point avec Jairo: #rentrer dans code C cwt continue Rwave #passer partie sowas à C #fct qui pour deux series (ID, medoides) renvoie distance WER (Rwave ou à moi) #transformee croisee , smoothing lissage 3 composantes , + calcul pour WER #determiner nvoice noctave (entre octave + petit et + grand) + +#TODO: load some dataset ASCII CSV +#data_bin_file <<- "/tmp/epclust_test.bin" +#unlink(data_bin_file) + +#https://stat.ethz.ch/pipermail/r-help/2011-June/280133.html +#randCov = function(d) +#{ +# x <- matrix(rnorm(d*d), nrow=d) +# x <- x / sqrt(rowSums(x^2)) +# x %*% t(x) +#} + +#TODO: soften condition clustering.R line 37 ? +#regarder mapply et mcmapply pour le // (pas OK pour Windows ou GUI... mais ?) +#TODO: map-reduce more appropriate R/clustering.R ligne 88 +#Alternative: use bigmemory to share series when CSV or matrix(...) + +#' @importFrom synchronicity boost.mutex lock unlock + +subtree: epclust, shared. This root folder should remain private + +#TODO: use dbs(), + #https://www.r-bloggers.com/debugging-parallel-code-with-dbs/ + #http://gforge.se/2015/02/how-to-go-parallel-in-r-basics-tips/ + +synchrones --> somme, pas moyenne + +PLOT: +plot manifold 2D distances WER / +fenetre tempo forme des courbes / +medoids / +gain en prevision: clust puis full --> enercast + +réduire taille 17519 trop long ? + +synchrone : sum +cwt : trim R part +// : clever by rows retenir cwt... + +Stockage matrices : en colonnes systématiquement ? + +TODO: revoir les arguments, simplifier (dans les clustering...), + permettre algos de clustering quelconques, args: medoids (curves puis dists), K