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

 

Mihail Marchukajtes:

Maximka emaranhado na floresta, ainda não consegue encontrar a saída? Negócios ....

Eu admito que não estou aqui há muito tempo, todos os negócios e preocupações.... Mas eu decidi vir aqui. Faça o check-in, por assim dizer :-) A propósito....

Há um lugar para nada. Outrora Maximka, o Pedreiro, agora Maximka, o Meia-leca)))


 
Vizard_:

Há um lugar para nada. Outrora Maximka, o Pedreiro, agora Maximka, o Meia-leca).


Bem, você é apenas um bom dia na vida, e não muda o seu status.

Garota Secreta
 
Maxim Dmitrievsky:

Bem, você é apenas um bom dia para a vida e não muda o seu status.

garota secreta

Oh, Professor))) É o mesmo com os "modelos". Onde está o veado e onde está a rapariga, onde está 0,
e 1... Sem definição, está tudo numa só pilha))) hilariante...

 
Vizard_:

Oh, Teacher)))) É o mesmo com os modelos. Onde está o veado e onde está a rapariga, onde está o 0,
e 1... não dá para perceber, está tudo numa pilha)))) hilariante...

Demorei mais de 10 minutos a descobrir como responder... Devia estar a preparar-me, a preparar imagens de ecrã, a preocupar-me com isso...

eu entendo, você precisa repintar de uma pilha de merda para fazer uma aparência espetacular, então você se sente bem consigo mesmo ))

bem, bem-vindo de volta ))))

 
Maxim Dmitrievsky:

a velocidade de aprendizagem é boa, o tempo de resposta no uso e o tempo de download da estrutura são ruins, pois os arquivos florestais são grandes. Eu já tive até 300 mb.

Há algo de errado com a serialização. A floresta é treinada e salva mais rapidamente do que é carregada de volta do arquivo.

Se diz que a floresta agora gera ordens de magnitude menos arquivos, é uma velocidade muito grande

Pelo contrário, NS treina por um tempo mais longo, mas a resposta é instantânea. Não há diferença na qualidade da classificação. Você pode usar qualquer coisa, mas a floresta fora da caixa funciona, e a NS precisa ser ajustada.


Tudo o que está escrito sobre a floresta na descrição da atualização:
algoritmo melhorado de construção de florestas aleatórias, que é de 2x a 10x mais rápido que a versão anterior e produz ordens de magnitude de florestas menores.

A versão antiga tem a seguinte estrutura de dados

//... info do nó:

//--- W[K+0] - número variável (-1 para o modo folha)
//--- W[K+1] - limiar (classe/valor para nó de folha)
//--- W[K+2] - ">=" índice do ramo (ausente para o nó da folha)

Este novo nó armazena as mesmas 3 variáveis para um nó e 2 para uma folha.
E a árvore é construída exatamente da mesma maneira - até o último exemplo com erro 0. Eu não vi nenhuma poda.
A única coisa que eu vi nos comentários ao código sobre acelerar
SplitStrength- tipo split:
* 0 = dividido na posição aleatória, o mais rápido
* 1 = dividido no meio do intervalo
* 2 = divisão forte no melhor ponto do intervalo (padrão)

Parece que a divisão aleatória resulta em 2-10x de velocidade e melhores pontos de divisão, o que, por sua vez, pode resultar numa árvore mais compacta.

Você pode apenas adicionar seleção aleatória de pontos à função de particionamento. Editar em 2-3 linhas))

 
elibrarius:

Eu não sei inglês muito bem.
Tudo o que diz sobre a floresta:
algoritmo melhorado de construção de florestas aleatórias, que é de 2x a 10x mais rápido que a versão anterior e produz ordens de magnitude de florestas menores.

Na versão antiga a estrutura de dados é assim:

//... info do nó:

//--- W[K+0] - número variável (-1 para o modo folha)
//--- W[K+1] - limiar (classe/valor para nó de folha)
//--- W[K+2] - ">=" índice do ramo (ausente para o nó da folha)

Este novo nó armazena as mesmas 3 variáveis para um nó e 2 para uma folha.
E a árvore é construída exatamente da mesma maneira - até o último exemplo com erro 0. Eu não vi nenhuma poda.
A única coisa que eu vi nos comentários ao código sobre acelerar
SplitStrength- tipo split:
* 0 = dividido na posição aleatória, o mais rápido
* 1 = dividido no meio do intervalo
* 2 = divisão forte no melhor ponto do intervalo (padrão)

Aparentemente, a divisão aleatória resulta em 2-10x de velocidade e melhores pontos de divisão, o que, por sua vez, pode resultar numa árvore mais compacta.

ou seja, o método de divisão é agora configurável? Mas o padrão ainda é o mais lento.

Oh bem, então você mesmo pode refazê-lo, sim :)

 
Maxim Dmitrievsky:

ou seja, o método de divisão é agora configurável? Mas o padrão ainda é o mais lento.

oh bem, então você mesmo pode refazê-lo, sim :)

Receio que todas estas alterações sejam substituídas quando o terminal for actualizado. É necessário fazer uma cópia da classe florestal e mantê-la como um arquivo separado
 
elibrarius:
Só que receio que todas as edições sejam sobrescritas quando o terminal for actualizado. Devemos fazer uma cópia da classe florestal e mantê-la como um arquivo separado.

Sim, ou manter um arquivo.

Bem, então, vamos experimentar, obrigado por bisbilhotar, é útil.

talvez da mesma forma que poderíamos acrescentar as árvores Bayesianas, se você entender.
 
elibrarius:

Então eu entendo que há algo a tentar mudar aqui.

//+------------------------------------------------------------------+
//| Makes split on attribute                                         |
//+------------------------------------------------------------------+
static void CDForest::DFSplitC(double &x[],int &c[],int &cntbuf[],const int n,
                               const int nc,const int flags,int &info,
                               double &threshold,double &e,double &sortrbuf[],
                               int &sortibuf[])
 
Maxim Dmitrievsky:

Então eu entendo que você pode tentar mudar algo aqui.

Sim. E duplicá-lo na DFSplitR, de modo que o andaime de regressão também tenha a mesma funcionalidade