Discussão do artigo "Cross-validation and basics of causal inference in CatBoost models, export to ONNX format" - página 2
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Não é possível inverter a ordem dessa forma:
Tem que ser Por que fazer a ordem inversa?
Não me lembro por que fiz dessa forma... acho que foi um problema com a serialidade da matriz de origem. Não importava como eu o invertia por meio de AsSeries true-false, eu obtinha os mesmos sinais de modelo.
Não sei muito sobre as "peculiaridades" do MQL.
Também não está muito claro com as configurações das saídas do modelo, eu as ajustei pelo método poke. Eu o descrevi no artigo.Não me lembro por que fiz dessa forma... Acho que foi um problema com a serialização da matriz de origem. Não importava como eu a invertia por meio de AsSeries true-false, eu recebia os mesmos sinais de modelo.
Não sei muito sobre as "peculiaridades" do MQL.
Também não está muito claro com as configurações das saídas do modelo, eu as ajustei pelo método poke. Eu o descrevi no artigo.A sericidade não ajudará se você preencher a matriz por índices depois de criá-la; a forma como você a preenche é o que conta. Provavelmente... Eu mesmo não trabalho com serialização.
Acho que não é necessário inverter (agora você está alimentando uma matriz não invertida), pois você obtém o mesmo gráfico no testador e no python. Caso contrário, as divisões não funcionariam em suas fichas e haveria aleatoriedade na previsão.
A sericidade não ajudará se você tiver preenchido a matriz por índices depois de criá-la, pois você a preencheu, então isso conta.
Se você substituir os recursos em vez de f, a previsão será diferente
Se você substituir f por recursos, obterá uma previsão diferente.
Isso é estranho. Parece ser copiada de 1 para 1. Os recursos são dinâmicos e f é estático, mas esse não é o motivo das diferenças.
UPD: nos exemplos da ajuda do OnnxRun, os recursos são passados em uma matriz, mas os seus são passados em uma matriz, talvez esse seja o motivo? É estranho que a ajuda não escreva como deveria.
Estranho... É como uma cópia de 1 para 1.
Exatamente, mas a resposta do modelo é diferente
k... artefato, sim, você pode removê-lo.
Exatamente, e a resposta do modelo é diferente
k- artefato, sim, pode ser removido
Vi que a serialização está definida para recursos. Provavelmente é por isso que o resultado é diferente.
Estranho... Parece ser copiado de 1 para 1. Os recursos são dinâmicos, enquanto f é estático, mas esse não é o motivo da diferença.
UPD: nos exemplos da ajuda do OnnxRun, os chips são passados em uma matriz, enquanto os seus são passados em uma matriz, talvez esse seja o motivo? É estranho que a ajuda não escreva como deveria.
Somente matrizes,vetores ou matrizes ( doravante denominadosDados)podem ser passados como valores de entrada/saída no modelo ONNX.
Acho que também recebi uma resposta errada com um vetor. Tenho que verificar novamente, mas por enquanto está funcionando.
https://www.mql5.com/pt/docs/onnx/onnx_types_autoconversion
Obrigado. Comparei os resultados de MLP, RNN e LSTM simples com bousting em meus conjuntos de dados. Não vi muita diferença, às vezes o bousting era ainda melhor. E o bousting é muito mais rápido de aprender, e você não precisa se preocupar muito com a arquitetura. Não posso dizer que seja inequivocamente melhor, porque o NS é uma extensão, você pode criar muitas variantes diferentes do NS. Provavelmente o escolhi por causa de sua simplicidade, pois ele é melhor nesse aspecto.