Discusión sobre el artículo "Remuestreo avanzado y selección de modelos CatBoost con el método de fuerza bruta" - página 13

[Eliminado]  
Evgeni Gavrilovi:

Sí, lo es.

Dice

#include <MT4Orders.mqh>

#include <Trade\AccountInfo.mqh>

#include <cat_model.mqh>

y lo más importante es que al cargar mqh directamente desde jupyter notebook todo funciona bien, me ha sorprendido eso

Ya veo... bueno, algo falla en la transferencia a colab... aún no lo he mirado, estoy ocupado con otro artículo )
 
Maxim Dmitrievsky:
Ya veo... bueno, algo falla en la transferencia a colab... aún no lo he mirado, estoy ocupado con otro artículo )

He hecho una grabación de mi pantalla, así que en colab cargo cat_model.mqh


[Eliminado]  
Evgeni Gavrilovi:

hice una grabación de mi pantalla, así que en colab cargo cat_model.mqh.


¿Y al guardar el archivo en el ordenador y en el colab coinciden los ajustes de look_back y la lista con máscaras? Deberían coincidir, de lo contrario se guardará un número incorrecto de características en el modelo y se producirá un error de desbordamiento de array como el tuyo.
 
Maxim Dmitrievsky:
Al guardar el archivo en el ordenador y en el colab, ¿coinciden los ajustes de look_back y la lista con MAs? Deberían coincidir, de lo contrario se guardará en el modelo un número incorrecto de características y se producirá un error de salida del array, como el que tienes tú.

Sí, coincide perfectamente.

lo que pasa es que sin la función get_prices el registro con un error, ¿quizás el problema está en el fichero de prueba?

el número de días ahí es 2 veces más comparado con el de prueba, el de prueba tiene los últimos 6 meses y el de trayning solo tiene los últimos 3 meses.

[Eliminado]  
Evgeni Gavrilovi:

Sí, es una combinación perfecta.

lo que pasa es que sin la función get_prices el registro falla, ¿quizás el problema está en el archivo de prueba?

El número de días es 2 veces mayor que en el archivo de prueba, el archivo de prueba tiene los últimos 6 meses, pero el trayning sólo tiene los últimos 3 meses.

No, creo que es el parser. En algún lugar el número de rasgos se establece incorrectamente cuando se guarda el modelo. Es decir, aprende un número, pero el analizador guarda otro. Lo resolveremos más tarde. No tengo tiempo para investigar.
 
Maxim Dmitrievsky:
No, creo que es el analizador sintáctico. En algún lugar el número de características se establece incorrectamente al guardar el modelo. Es decir, aprende un número, pero el analizador guarda otro. Lo resolveremos más tarde. Todavía no tengo tiempo para solucionarlo.

OK)

 

He resuelto el problema con la carga de datos en colab buscando todas las variantes.

Es necesario escribir pr = pd.read_csv('archivo.csv', sep=';') directamente en la función get_prices y luego devolver este valor return pr.dropna()

 

Atornillado en un bosque aleatorio. Empieza a funcionar establemente con 10000 muestras, y 100 árboles.

[Eliminado]  
welimorn:

Atornillado en un bosque aleatorio. Empieza a funcionar establemente con 10000 muestras, y 100 árboles.

Es un enfoque curioso. Para equilibrar las clases. Podría ser jugado para nuestros propósitos. Me acaba de llamar la atención.

https://towardsdatascience.com/augmenting-categorical-datasets-with-synthetic-data-for-machine-learning-a25095d6d7c8

Augmenting categorical datasets with synthetic data for machine learning.
Augmenting categorical datasets with synthetic data for machine learning.
  • Egor Korneev
  • towardsdatascience.com
Consider a hypothetical but common scenario. You need to build a classifier to assign a sample to a opulation group. You have a sizable training dataset of one million samples. It has been cleaned, prepared and labeled. The few continuous variables are already normalized, and categorical variables, representing the majority of features, are...
 
Maxim Dmitrievsky:

Karoch no se, igual me he equivocado de gmm ))) Pero no veo la diferencia entre con ella y sin ella, en mi opinión todo lo decide el objetivo y nada más....


Tengo 60k en total de datos.

Tomo los primeros 10k y selecciono al azar 500 puntos de ellos.

Entreno el modelo en ellos inmediatamente o entreno el gmm y luego entreno el modelo.

Lo pruebo en los 50k restantes

E incluso de la forma habitual se pueden encontrar modelos como con gmm , y con la misma frecuencia se genetizan.

Por ejemplo

modelo sin gmm entrenado sobre 500 puntos, test sobre 50k.


=================================================================================================

He visto una cosa interesante para pensar....

Hay un punto de vista de que el mercado debe ser dividido en estados y el comercio en cada estado de su estrategia, pero todos los intentos conocidos para mí no tuvieron éxito, o bien el estado no se ve o el modelo comercia mal incluso en un "tipo de uno" estado.

Pero en este enfoque, se puede ver con bastante claridad qué mercado "le gusta" al modelo. y cuál no.

Probablemente debido a los rendimientos de la mashka como señales, el modelo funciona mejor en plano.