X-Git-Url: https://git.auder.net/?p=epclust.git;a=blobdiff_plain;f=TODO;h=53a82b30bc833aa1a2ff2be7735afdadd05ac961;hp=3c1fd78ec8aadcc1ff7a9df076932c2db515f99b;hb=eef6f6c97277ea3ce760981e5244cbde7fc904a0;hpb=dc1aa85a96bbf815b0d896c22a9b4a539a9e8a9c diff --git a/TODO b/TODO index 3c1fd78..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,51 +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 ? -===== +#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 ? -trategies for upscaling -From 25K to 25M : in 1000 chunks of 25K -Reference values : - K 0 = 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 × K 0 SC perform a 2-step run leading to K ∗ clusters +synchrone : sum +cwt : trim R part +// : clever by rows retenir cwt... ---> il faut s'arranger pour que +Stockage matrices : en colonnes systématiquement ? -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 ∗ nal clusters +TODO: revoir les arguments, simplifier (dans les clustering...), + permettre algos de clustering quelconques, args: medoids (curves puis dists), K