Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 884

 
SanSanych Fomenko:

Entendo a diferença entre árvores e florestas (ou acho que entendo) as florestas são melhores para usar quando há mais incerteza nos dados, ou seja, um padrão menos estável desde que as florestas tomam decisões por votação, o que é feito por árvores aleatórias (independentes devido ao encurtamento), ou estou errado?

Não sei, estou a julgar pelos resultados.

E a opção "adad" que não tenho, não está na imagem da tela, existe "Forest" - não é isso?

Em ordem:


Árvore

O pacote 'rpart' fornece a função'rpart'.


Impulso

# Extreme Boost

# O pacote `xgboost' implementa o algoritmo de aumento de gradiente extremo.


SVM

# Suporta máquina vectorial.

# O pacote 'kernlab' fornece a função 'ksvm'.


Linear

# Modelo de regressão

# Constrói um modelo de Regressão.


Rede Neural

# Rede Neural

# Construa um modelo de rede neural usando o pacote nnet.

biblioteca(nnet, quietly=TRUE)


A propósito, eu fiz este trabalho para você - você mesmo pode ver tudo isso em Log. Se você tiver outra versão do guizo, a lista pode ser diferente.

Obrigado pela transcrição. Eu tenho a versão 5.1.0 provavelmente a mais recente - todos estes pacotes são instalados automaticamente quando são chamados, e além disso existe a "Forest".

SanSanych Fomenko:

A biblioteca foi modificada ao meu pedido - eu precisava de um testador do MT5. Fiz as contas, demasiado preguiçoso para as procurar, talvez as tenha limpo.

Dê uma olhada nos artigos deVladimir Perervenko

Se você está interessado em redes, ele é o mais recente nesta área, R, conselheiros, o homem está disponível no site

Obrigado, eu vou dar uma olhada.

 
SanSanych Fomenko:


Então como se corta um arquivo com R, você precisa usar um algoritmo especial? É interessante ver o que acontece no final.

Por índice, por exemplo: [1:2000,], [2001:4000,]. É importante não quebrar a sequência de tempo natural no segundo arquivo

Em outras palavras, você pode cortá-lo em Excel, certo?

 
Maxim Dmitrievsky:

Tente da maneira que quiser :) O principal é não esquecer de ler a teoria, para não fazer algo estúpido, e não é difícil usar qualquer pacote, há muitos, e até mesmo online - você não precisa instalar nada. Há um boom em datasens, "isto" está em todo o lado.

Não tenho tempo para analisar arquivos, estou a trabalhar nas minhas próprias coisas.

A questão é que variantes diferentes dão resultados diferentes, e se sim, como se pode concluir sobre a qualidade dos preditores? Acontece que é necessário pegar a versão média, ou seja, se em todo lugar não for ruim, então tudo bem, e depois sintonizar a rede/árvore/floresta?

E ainda assim, gostaria de saber como transferir a lógica da árvore para o Expert Advisor...

 
Aleksey Vyazmikin:

Então você também pode cortar no Excel, certo?

Não há necessidade do Excel. Uma linha, é isso.

Leia Robert I. Kabakov R in Action. Análise e visualização de dados na linguagem R. Está disponível na Internet.

 
Yuriy Asaulenko:

Não há necessidade do Excel. 1 linha e já está.

Leia - Robert I. Kabakov R em Ação. Análise e visualização de dados na linguagem R. Está disponível na Internet.

Você pode não saber tudo - eu não tenho o propósito de aprender programação em R, eu preciso da possibilidade de verificar os preditores e converter as regras definidas para MT5. Em geral, se é uma corda, porque não escrevê-la para si? Por enquanto, usei os meios disponíveis.

 
SanSanych Fomenko:


A tua imagem de chocalhar está incompleta. No mínimo, você deve ir para a aba de avaliação adjacente e ver os resultados lá.

Mas o mais importante é dividir o arquivo fonte em duas partes com nomes diferentes (muito provavelmente você terá que fazer isso em R).

No primeiro arquivo você constrói TODOS os seis modelos e olha o teste de estimação deles, valida. Depois você escreve o nome do segundo arquivo no campo R Dataset. E nele você recebe marcas novamente. Todas as estimativas devem ser aproximadamente as mesmas!

Se estas estimativas não coincidirem, e o segundo ficheiro mostrar piores resultados dos modelos, então significa que os modelos estão sobretreinados e a razão para isso são os preditores de ruído (não relacionados com a variável alvo).


Este é o momento da verdade: ou você tem um conjunto de preditores relevantes para uma determinada variável alvo ou não tem. E nenhum modelo pode corrigir esta infeliz circunstância. Então começa o trabalho estúpido de encontrar um par de "preditores-alvo", os modelos não são nada interessantes, você vai encontrar um par, então os modelos são apenas sementes em R, você vai encontrar uma dúzia deles em um dia e fazer conjuntos deles.

Vou pedir-lhe que me explique com mais detalhes.

1. No separador "Avaliar" qual o parâmetro a escolher no conjunto "Tipo"?

2. O que devo fazer para poder introduzir o nome de um segundo ficheiro? A minha janela está activa, mas não consigo seleccionar um ficheiro! E "CSV File" - por que posso escolher lá?


 
Aleksey Vyazmikin:

A questão é que opções diferentes dão resultados diferentes, e se este for o caso, como podemos concluir sobre a qualidade dos preditores? É simplesmente uma questão de tomar a variante média, ou seja, se não estiver mal em todo o lado, então está tudo bem, e depois ajustar a rede/árvore/floresta?

E ainda assim, quero saber como transferir a lógica da árvore para o Expert Advisor...

Porquê? O mt5 tem uma floresta aleatória, você pode adaptá-la às suas necessidades. Cuidado com os erros e dê-lhe exemplos de teste, observe os resultados. A única coisa é que ele não produz variáveis

Mas se você considerar que os algoritmos são os mesmos em todo lugar, você pode visualizar e experimentar em R, então treiná-lo e usar o MT.

 
Aleksey Vyazmikin:

De qualquer forma, se é uma linha, porque não escrevê-la para si? Bem, entretanto, consegui com os meios ao meu alcance.

Bem, eu não pedi, tu é que pediste.) Eu não preciso disso.)

E se você trabalha com R, pode ter que fazê-lo.

 
Aleksey Vyazmikin:

Peço-lhe que me explique com mais detalhes.

1. No separador "Avaliar", qual o parâmetro que devo seleccionar no conjunto "Tipo"?

2. O que devo fazer para poder introduzir o nome do segundo ficheiro? A minha janela está activa, mas não consigo seleccionar um ficheiro! E "CSV File" - por que posso escolher lá?


1. qualquer. É uma avaliação de modelo diferente e cada um tem um significado diferente. Rattle é bom precisamente porque dá ao iniciante um conhecimento sistemático da aprendizagem da máquina: preparação dos dados de entrada, modelagem, estimativa do modelo. Tendo dominado pelo menos em nível primitivo todas as TRÊS partes, faz sentido passar de jogar com figuras para coisas mais significativas.

2. R Dataset é um r-file. Significa, que na ficha Dados os dados iniciais foram carregados como Ficheiro RData - é um espaço de trabalho em termos de R. Neste espaço de trabalho foram preparados dois quadros de dados: um para treinamento e teste do modelo, e o outro como este mesmo Dataset R.

A maneira mais fácil para você fazer isso é carregar um arquivo Excel pronto, baixar o log, sair para R e dividir o quadro de dados resultante em dois.

Em alternativa.

Abra o próprio R e lá baixe o arquivo excel - esta é uma linha. Depois divide o quadro de dados em dois.

Mas você tem que usar o segundo arquivo do modelo treinado.

 
Maxim Dmitrievsky:

Porquê? O mt5 tem uma floresta aleatória, você pode adaptá-la às suas necessidades.

Ou, considerando que os algoritmos são os mesmos em todos os lugares, você pode visualizar e experimentar em R, e depois treinar e usar em MT

O programa "Deductor Studio" mostra tudo visualmente bem, ou seja, a árvore, regras; ainda não vejo isso em R, e não haverá nenhum em MT5 (ou seja, tudo pode ser feito, mas eu tenho que pagar por isso...). Então, acontece que eu deveria usar a biblioteca de algas para incluir florestas aleatórias no MT5, não é?

Encontrei uma parte do código do algoritmoC4.5 http://datascientist.one/algorithm-c4-5/ em R, é muito difícil de implementar no MT5?

C45 <- function(data,x){
   result.tree <- NULL
   if ( IsEmpty(data) ) {
                node.value <- "Failure"
                result.tree <- CreateNode(node.value)
                return(result.tree)
        }
         if( IsEmpty(x) ){
                node.value <- GetMajorityClassValue(data,x)
                result.tree <- CreateNode(node.value)
                return(result.tree)
        }
         if( 1 == GetCount(x) ){
                node.value <- GetClassValue(x)
                result.tree <- CreateNode(node.value)
                return(result.tree)
        } <br>

       gain.ratio <- GetGainRatio(data,x)<br>
     best.split <- GetBestSplit(data,x,gain.ratio)

     data.subsets <- SplitData(data,best.split)
     values <- GetAttributeValues(data.subsets,best.split)
     values.count <- GetCount(values)

     node.value <- best.split
    result.tree <- CreateNode(node.value)
         idx <- 0
    while( idx<=values.count ){
        i       dx <- idx+1
                newdata <- GetAt(data.subsets,idx)
                value <- GetAt(values,idx)
                new.x <- RemoveAttribute(x,best.split)
                new.child <- C45(newdata,new.x)
                AddChildNode(result.tree,new.child,value)
   }

    result.tree
        }
Алгоритм C4.5
Алгоритм C4.5
  • 2016.05.06
  • datascientist.one
Алгоритм C4.5 строит классификатор в форме дерева решений. Чтобы сделать это, ему нужно передать набор уже классифицированных данных. А что такое классификатор? Классификатор – это инструмент, применяемый в data mining, который использует классифицированные данные и на их основании пытается предсказать, к какому классу стоит отнести новые...
Razão: