X-Git-Url: https://git.auder.net/?p=epclust.git;a=blobdiff_plain;f=TODO;h=957c1119264e3d8542a2aa16803b38672c6afca8;hp=20ecb3acd48f898b52ec2f083808b797968668ef;hb=HEAD;hpb=22b1a077e083e4ba94d2ddd8925a1b32218edf47 diff --git a/TODO b/TODO index 20ecb3a..957c111 100644 --- a/TODO +++ b/TODO @@ -6,31 +6,8 @@ Essayer distance wdist du package biwavelet ? geometric structure of high dim data and dim reduction 2011 -https://docs.docker.com/engine/getstarted/step_one/ - -A faire: - - finir les experiences (sur nb de classes, nb de curves / chunk, nb de procs) - et sur d'autres architectures - 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 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) #{ @@ -39,20 +16,11 @@ utiliser Rcpp ? # 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 +#https://www.r-bloggers.com/debugging-parallel-code-with-dbs/ +#http://gforge.se/2015/02/how-to-go-parallel-in-r-basics-tips/ PLOT: plot manifold 2D distances WER / @@ -60,20 +28,26 @@ fenetre tempo forme des courbes / medoids / gain en prevision: clust puis full --> enercast -réduire taille 17519 trop long ? +------- + +Voici le code : + +library(epclust) -synchrone : sum -cwt : trim R part -// : clever by rows retenir cwt... +n <- 5 +N <- 128 +M <- matrix(runif(n * N), nrow = n) #séries en lignes +M <- t(apply(M, 1, cumsum)) / sqrt(n * N) +matplot(t(M), type = 'l', lty = 1) -Stockage matrices : en colonnes systématiquement ? +dists3a <- computeWerDists(1:n, function(inds) M[,inds], n) -TODO: revoir les arguments, simplifier (dans les clustering...), - permettre algos de clustering quelconques, args: medoids (curves puis dists), K +# je passe de distance Wer à corrélations : moralement tout est à 0 +summary((1 - dists3a[lower.tri(dists3a)]^2) / N / n) -Plutôt ça que hack auto notebook generation: - https://mail.scipy.org/pipermail/ipython-dev/2014-March/013550.html +# or, les courbes sont très similaires, nous devrions être proche de 1 ! +corM <- cor(t(M)) +summary(corM[lower.tri(corM)]) #si pas lissage --> on doit trouver 1 : TOCHECK -#regarder biwavelets smooth.wavelet : c'est comme ça qu'il faut coder -#Options : smooth_lvl + filtre gaussien (smooth_method ?) +#regarder biwavelets smooth.wavelet : s'en inspirer