L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 1923

 
mytarmailS:


C'est moi ou vous diminuez la dimension sans professeur ? Je parle de "uwot" (umap).

 
Vladimir Perervenko:

C'est moi ou vous êtes en train de réduire vos dimensions sans professeur ? Je parle de "uwot" (umap).

Oui, seulement j'utilise le paquet "umap".

 
mytarmailS:

Oui, mais j'utilise le paquet "umap".

Ça n'a pas de sens. La réduction de la dimensionnalité à un espace qui correspond à votre espace cible est le but de la conversion. De plus, ce sont les deux seuls paquets qui offrent la possibilité de traiter de nouvelles données (valides/test) et pas seulement des données de formation comme tSNE.

Après transformation, regrouper avec dbscan. Les clusters obtenus servent de prédicteur supplémentaire pour les variables à introduire. Il peut y avoir quelques variantes ici.

Bonne chance

 
mytarmailS:

Oui, mais j'utilise le paquet "umap".

Quel est le nom de la méthode elle-même ? Qu'est-ce que c'est ? J'aimerais le voir en python.

une sorte d'amibe et de vie cellulaire dans les images.

Le magicien a montré des transformations similaires, d'ailleurs. Il avait des points qui s'étiraient et se réduisaient en ellipses, je me souviens de quelque chose comme ça.

 
Maxim Dmitrievsky:

Quel est le nom de la méthode elle-même ? Qu'est-ce que c'est ? En Python, j'aimerais voir

un peu de vie des amibes et des cellules en images

En Python, le paquet umap porte le même nom.

 
Vladimir Perervenko:

En Python, le paquet umap du même nom.

Merci, je vais jeter un coup d'œil

 
Vladimir Perervenko:

Réduisez la dimensionnalité à un espace qui correspond à votre cible - c'est le but de la transformation.

Comment faites-vous cela, d'où vient cette correspondance cible et qu'entendez-vous par là ?

Vladimir Perervenko:

En outre, ce sont les deux seuls paquets qui offrent la possibilité de traiter de nouvelles données (valides/test) et pas seulement des données d'entraînement comme tSNE.

Je sais, c'est pour ça que je les ai choisis.

Vladimir Perervenko:

Après transformation clustering avec dbscan. Clusters obtenus comme prédicteur supplémentaire aux variables à introduire. Il existe plusieurs variantes possibles.

Je sais)) J'ai écrit sur le dbscan à la page précédente ;)

Mais avec lui aussi, ce sera une galère, d'abord, avec les clusters qui ont tous le même besoin de jouer autour et ensuite, il est trop lent à reconnaître les nouvelles données.

J'ai lu quelque part - que le paquet soit prévu ou que dans p-studio le truc devrait apparaître - que le cluster sera sélectionnable manuellement, directement avec la souris, je n'en ai pas entendu parler ?

 
Maxim Dmitrievsky:

Merci, je vais jeter un coup d'oeil.

Je l'utilise simplement, ou plutôt son wrapper dans R

 
mytarmailS:

Alors comment faites-vous, d'où vient cette correspondance cible et qu'entendez-vous par là ?

Je sais, c'est pourquoi j'ai choisi ce paquet.

Je sais)) écrit sur la page précédente à propos de dbscan;)

Mais avec lui aussi, ce serait une galère, d'abord, avec des clusters tous identiques, il faut jouer autour et ensuite, il est trop lent pour reconnaître les nouvelles données.

J'ai lu quelque part - ou le paquet est prévu pour faire ou dans la puce p-studio a dû apparaître - que le cluster sera manuellement sélectionnable directement avec la souris, n'a pas entendu parler de lui ?

Dans l'ordre :

Vous définissez les constantes :

#---const-------------------------------
 evalq({
  n_n <- 15 L
  min_d <- 0.1
  n_c <- 3 L
  metr <- "euclidean" #"euclidean" (the default) "cosine" "manhattan"
  lr <- 0.75
  scale <- "none" 
  #               "none"
  #               "scale" or TRUE ,
  #               "maxabs" Center each column to mean 0, then divide each element by the maximum 
  #                         absolute value over the entire matrix.
  #               "range"
  init <- "spectral" # "spectral" # "normlaplacian". # "random".
  # "lvrandom". # "laplacian".  # "pca". # "spca".
}, env)

Pour enseigner avec un professeur, il suffit d'ajouter la cible y à la formule et de spécifier que nous devons retourner un modèle (ret_model = TRUE).

#-----superveised------------------
 evalq({
  y <- factor(denoiseX1pretrain$origin$y)
  origin.sumap <- umap(X = x, y = y, approx_pow = TRUE, n_neighbors = n_n, 
                       learning_rate = lr, min_dist = min_d, n_components = n_c, ret_model = TRUE,
                       metric = metr, init = init, n_threads = 4 L, scale = scale)
}, env)

Une fois le modèle en place, nous pouvons convertir le reste des sous-ensembles train/test/test1 du groupe de données d'origine en données tridimensionnelles également. Voici le code

#---train--------------------------------
evalq({
  set.seed(1337)
  umap_transform(X = X1$train$x, model = origin.sumap, n_threads = 4 L, 
                 verbose = TRUE) -> train.sumap
}, env)
#---test--------------------------------
evalq({
  set.seed(1337)
  umap_transform(X = X1$test$x, model = origin.sumap, n_threads = 4 L, 
                 verbose = TRUE) -> test.sumap
}, env)
#---test1-------------------------------
evalq({
  set.seed(1337)
  umap_transform(X = X1$test1$x, model = origin.sumap, n_threads = 4 L, 
                 verbose = TRUE) -> test1.sumap
}, env)

Substituez votre x/y et vous obtenez des données tridimensionnelles divisées en deux groupes. Tiré d'un article inachevé. J'ai des photos quelque part mais je ne les trouve plus. Si j'en ai besoin, je les chercherai demain. Mais je pense que tu peux avoir le tien.

Bonne chance

 

Trouvé

resdimX1_origine