L'Apprentissage Automatique dans le trading : théorie, modèles, pratique et trading algo - page 233
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Je n'ai pas obtenu de bons résultats. Vous avez besoin de prédicteurs (contrairement aux autres modèles) qui sont fortement corrélés.
Je n'en ai pas trouvé qui donne des résultats acceptables. Mais cela fait longtemps que je n'ai pas fait d'expériences. Je n'ai pas beaucoup de temps. Vous pouvez l'essayer. L'échantillon a un code entièrement fonctionnel.
Bonne chance
PS. Si vous l'essayez, dans les matrices d'entrée, les prédicteurs doivent être des lignes et non des colonnes.
Merci, mais je suis malheureusement maintenant engagé dans un tout autre, dans un avenir proche ne sera pas en mesure de s'asseoir, je suis tombé sur une méthode de travail, mais tout est encore brut, la recherche vient de commencer et je sens qu'il va traîner pendant une longue période, beaucoup de travail ...
Une autre question, ne me tapez pas sur les nerfs) Est-il possible d'utiliser les paquets MO standard, les forêts, les filets, les vecteurs, les convolutions, etc. en formation sans professeur ?
Je pense que c'est possible, mais je n'ai pas réussi à trouver comment le faire.
Par exemple, à Forrest
library(randomForest)
label <- factor(iris$Species)
set <- iris[,-ncol(iris)]
model <- randomForest(x = set,data = set , mtry=4, ntree=20)
Je pense que je l'ai enseigné sans professeur.
selon le traducteur google ----> classificationnon supervisée
Call:
randomForest(x = set, ntree = 20, mtry = 4, data = set)
Type of random forest: unsupervised
Number of trees: 20
No. of variables tried at each split: 4
mais comment les reconnaître ? ))
Error in predict.randomForest(model, set[1, ]) :
No forest component in the object
Pouvez-vous m'aider à résoudre ce problème ?
Merci, mais malheureusement je fais quelque chose de complètement différent en ce moment, je ne pourrai pas m'asseoir pendant un certain temps, j'ai trouvé une méthode de travail, mais elle est encore brute, la recherche ne fait que commencer et je sens que cela prendra beaucoup de temps, il y a beaucoup de travail à faire...
Une autre question, ne me tapez pas sur les nerfs) Est-il possible d'utiliser les paquets MO standard, les forêts, les filets, les vecteurs, les convolutions, etc. en formation sans professeur ?
Je pense que c'est possible, mais je n'ai pas réussi à trouver comment le faire.
Par exemple, à Forrest
library(randomForest)
label <- factor(iris$Species)
set <- iris[,-ncol(iris)]
model <- randomForest(x = set,data = set , mtry=4, ntree=20)
Je pense que je l'ai enseigné sans professeur.
selon le traducteur google ----> classificationnon supervisée
Call:
randomForest(x = set, ntree = 20, mtry = 4, data = set)
Type of random forest: unsupervised
Number of trees: 20
No. of variables tried at each split: 4
mais comment les reconnaître ? ))
Error in predict.randomForest(model, set[1, ]) :
No forest component in the object
Pouvez-vous éclaircir ce point pour moi ?
================================================
Je vous recommande vivement d'utiliser RandomUniformForest. Il y a beaucoup de fonctionnalités que les autres "échafaudages" n'ont pas. Spécifiquement sur l'apprentissage non supervisé :
Apprentissage non supervisé avec les forêts uniformes aléatoires
Description
Le mode non supervisé des Forêts Uniformes Random est conçu pour fournir, dans tous les cas, le regroupement, la réduction de dimension, la visualisation facile, l'importance profonde des variables, les relations entre les observations, les variables et les clusters. Il comporte également deux points spécifiques : l'évaluation facile (analyse des clusters) et le clustering dynamique, permettant de modifier à la volée toute forme de clustering. Un moteur à trois couches est utilisé : matrice de dissimilarité, échelle multidimensionnelle (MDS) ou décomposition spectrale, et clustering k-means ou hiérarchique. Le mode non supervisé ne nécessite pas de connaître le nombre de clusters, grâce à la statistique de l'écart, et hérite des principales propriétés algorithmiques du mode supervisé, permettant (presque) tout type de variable.
Bonne chance
Oui, la question est générale : tous ces paquets populaires de MOE - randomforest , nnet , svm ...... - peuvent-ils être enseignés sans professeur ? etc.
Forrest, juste pour prendre l'exemple...
En fait, j'aimerais entraîner un réseau de convolution sans professeur.
Oui, la question est générale, tous ces paquets populaires de MOE - randomforest, nnet, svm ...... peuvent-ils être enseignés sans professeur ? etc.
Forrest, juste pour prendre l'exemple...
En fait, c'est le réseau convolutif que j'aimerais enseigner sans professeur.
Que voulez-vous lui enseigner ?
Quelle est l'idée derrière tout cela ?
Je ne connais que ces modèles pour l'enseigner sans professeur : AutoEncoder, RBM, RF de différentes variétés, modèles de clustering. Mais les convolutionnels sont impossibles...
Bonne chance
Que voulez-vous lui apprendre ?
Quelle est l'idée ?
Je ne connais que ces modèles pour l'apprentissage sans professeur : AutoEncoder, RBM, RF de différentes variétés, modèles de clustering. Mais les convolutions sont impossibles...
Bonne chance
parce qu'un réseau convolutif peut détecter des motifs similaires dont la forme est encore légèrement différente, ce qui le différencie des MO "linéaires" conventionnelles
comme Forrest, les réseaux généraux, etc...
Et je veux enseigner sans professeur parce qu'il est bien mieux de le décomposer d'abord en groupes, comme "naturellement, par similarité" et ensuite de le faire correspondre à la cible, que d'enseigner immédiatement avec la cible et de créer/adapter les groupes à la cible.
J'ai écrit sur l'idée du cluster, elle fonctionne mieux que tous les modes opératoires conventionnels pour ma cible, si vous lisez...
Il y a encore un problème avec tout ça, c'est qu'aucune situation sur le marché n'est exactement la même, c'est la non-stationnarité, et là je vois deux façons, c'est soit un réseau convolutif ou un algorithme dtw ou quelque chose d'assez vague et flou - interpolation ou extrapolation, je ne sais même pas comment ça s'appelle exactement.
L'idée est de rendre les clusters plus adaptables à la non-stationnarité.
Aidez-moi à comprendre...
il y a un code comme celui-ci :
X <- rep(0,1000)
Y <- rep(999,100)
dat <- sample(c(X, Y))
dat
[1] 0 999 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[28] 0 0 0 999 999 0 0 0 0 0 0 0 0 0 0 999 0 0 0 0 0 0 0 0 0 999 0
[55] 0 0 0 0 999 0 0 0 0 0 999 0 0 0 0 0 999 0 0 0 0 0 0 0 0 0 0
[82] 0 0 0 0 0 0 0 0 999 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[109] 0 0 0 0 0 0 0 0 999 0 0 0 999 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[136] 0 0 0 0 0 0 0 999 0 0 0 0 0 999 0 999 0 0 0 0 0 0 0 0 0 0 0
for(i in 101:length(dat)){
idx <- 1:i
s1 <- dat[idx]
s2 <- which(s1!=0) # s2 - получаем индексы нужного события те когда s1 было не ноль
s3 <- tail(s2,3) # оставляем три поледних индекса
print( dat[s3] )
}
[1] 999 999 999
[1] 999 999 999
[1] 999 999 999
[1] 999 999 999
[1] 999 999 999
[1] 999 999 999
[1] 999 999 999
[1] 999 999 999
[1] 999 999 999
Tout va bien, tout fonctionne, mais il y a un problème sur la ligne
A chaque itération le vecteur idx augmente, et s'il y a beaucoup de données alors le code devient sauvagement lent bien sûr et plus il va loin....
J'ai résolu le problème d'une manière simple - à chaque itération, seules les 100 dernières valeurs du vecteur seront prises au lieu de l'ensemble du vecteur.
idx <- (i-100):i
idx <- (i-100):i # последние 100 значени вместо idx <- 1:i
s1 <- dat[idx]
s2 <- which(s1!=0) # s2 - получаем индексы нужного события те когда s1 было не ноль
s3 <- tail(s2,3) # оставляем три поледних индекса
print( dat[s3] )
}
Mais le résultat de ce code est déjà désordonné.
[1] 0 0 0
[1] 0 0 0
[1] 0 0 0
[1] 0 0 0
[1] 0 0 0
[1] 999 0 0
[1] 0 0 0
[1] 0 0 999
[1] 999 0 0
[1] 0 0 0
[1] 0 0 0
Qu'est-ce qui ne va pas ? Tout semble correct, il y a un bug ou autre ?
mytarmailS:
Qu'est-ce qui se passe ? Ça va, c'est un bug ou autre ?
En fait, cela s'appelle "il y a un bug, mais pas d'exemple de comment le reproduire". Vous avez besoin d'un tableau spécial avec plus de 100 colonnes, et alors quelque chose va mal tourner. Et l'exemple est un petit morceau de tableau sur lequel on ne peut rien vérifier, et aussi par texte et non par fichier RData.
Purement au hasard - je pense que l'erreur est dans les index. Les valeurs dans s3 seront toujours comprises entre 1 et 100, quel que soit l'indice initial i.
Si vous décalez s1 de (i-100)-1 par rapport au début du tableau dat, ce décalage devra être pris en compte lorsque vous accéderez à nouveau à dat avec le nouvel indice obtenu. La dernière ligne devrait être print(dat[i-101+s3]). Il peut s'agir de 100 au lieu de 101. Ou 102. Quelque part dans ces chiffres :)
pantural:
C'est ce qu'on appelle des "sous-vêtements", c'est comme si vous mettiez sans vergogne vos sous-vêtements dans le visage des dames et des messieurs, et cela ne convient pas à ceux qui vous entourent. C'est mieux de cacher ses sous-vêtements. Avez-vous vu, par exemple, Nikolay Kositsyn ou Reshetov, montrer ses sous-vêtements ?
========================
Vous pouvez appeler cela un "spoof", mais dans la communauté R, il est d'usage de citer du code reproductible lorsqu'on pose une question. Et c'est exact. Les histoires sans code de citation sont des mots vides. Le but de ce fil est d'enseigner avec des exemples de MoD.
Pourquoi tu t'engages pour tous ceux qui t'entourent ? Pas besoin d'établir des règles, personne ne vous a autorisé à le faire.
Tout droit fait mytarmailS et d'autres participants qui donnent des exemples de code que beaucoup peuvent apprendre quelque chose d'utile pour eux-mêmes.