Grupo de usuarios de MetaTrader 5 Python - cómo utilizar Python en Metatrader - página 82

 
Vladimir Karputov:

¿Cómo se hace una compensación?

Esta es la tabla (Data Frame)

cómo hacerlo así:

¿Para qué? ¿Sólo imprimirlo?

 
Vladimir Karputov:

¿Cómo se hace una compensación?

Esta es la tabla (Data Frame)

Cómo hacerlo así:

Aquí, encontramospandas.DataFrame.shift

Lo principal es no olvidarse de eliminar la última línea, ya que contendrá basura.

 
Lo siento salvajemente) me gustaría saber si es posible empujar el teclado a través de python en MQL5? no hay tiempo para experimentar en absoluto
 
Un hilo bastante informativo sobre la integración de python en mt5... ¿Por qué cuando añado mi script de python en el terminal de mt5 se añade y luego se elimina inmediatamente?
 

Estimados señores, por favor, aconséjenme qué es lo que no entiendo.

He construido una red neuronal. Preparó los datos.

(10452, 50) (10452, 2)  полный набор данных
(7316, 50) (7316, 2)    тренировочный набор
(3136, 50) (3136, 2)    тестовый набор

Lo he entrenado.

Параметры модели:
clf__epochs = 66
clf__layers
> Размерность слоёв:
>>> Входной слой = 50
>>>>>> Скрытых слоёв -- 2
>>>>>>>> 1-й слой    = 25
>>> >> слой имеет dropout = 0.3
>>>>>>>> 2-й слой    = 12
>>> Выходной слой    = 2
clf__loss = BCE
clf__metric = accuracy
clf__optimizer = adam

Resultado.

Score on train data is 0.9672635197639465
Score on test data is  0.9674744606018066

#  Оцениваем на тестовых данных
test loss, test acc: [0.1585625737373318, 0.96747446]

Y luego no entiendo qué pasa...

predictions = model.predict(X_test[:15])

.

predictions[:15] =  
[[0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]
 [0.03263587 0.03311919]]

¿Por qué estos resultados de "predicción"? Se espera un 0-0, 0-1 o 1-0....

 

Siempre es así...

Cuando se hace una pregunta, todo el mundo piensa: ¿por qué molestarse?

Opinión subjetiva: el 93% de las veces hay que buscar en Google.... El 90% del tiempo que se tarda en acertar la pregunta ....

Gracias por los comentarios. Eso es todo por ahora. Me voy a Google....

 

estas son las probabilidades de las clases 1 y 2

La segunda tiene una mayor probabilidad, por lo que se predice

su suma debe ser igual a 1, hay algún tipo de error de formación aquí

Debe salir 1 neurona si es una clasificación binaria. O softmax
 
Maxim Dmitrievsky:

estas son las probabilidades de las clases 1 y 2

La segunda tiene una mayor probabilidad, por lo que se predice

su suma debería ser igual a 1, hay algún tipo de error de formación aquí

Se necesita 1 neurona por salida si se trata de una clasificación binaria. O softmax

La clasificación binaria no implica 1 neurona por salida. Al menos por lo que he encontrado...

Pero el problema es que la imagen tampoco cambia al utilizar otras funciones de pérdida.

Mañana escribiré un comprobador de datos con validación de predicciones. Pero algo me dice que el resultado será deplorable.

No puedo entender por qué la "precisión" es superior al 96% y la predicción es "así"...

¿Quizás estoy haciendo algo mal?

 
Сергей Таболин:

La clasificación binaria no implica 1 neurona por salida. Al menos por lo que he encontrado...

Pero el problema es que la imagen tampoco cambia al utilizar otras funciones de pérdida.

Mañana escribiré un comprobador de datos con validación de predicciones. Pero algo me dice que el resultado será deplorable.

No puedo entender por qué la "precisión" es superior al 96% y la predicción es "así"...

¿Quizás estoy haciendo algo mal?

Creo que no tengo ni idea de qué tipo de constructor de red es.

1 neurona no implica, pero un sumador debe estar y una activación f-e. Normalmente se pone 1 neurona

puede haber muchas razones. Por ejemplo, los datos no están normalizados, no están bien preparados, la red está torcida
 
Maxim Dmitrievsky:

Creo que no tengo ni idea de qué tipo de constructor de red es.

1 neurona no implica, pero un sumador debe estar en su lugar y una activación f-e. Suele ser una neurona.

Puede haber muchas razones. Por ejemplo, los datos no están normalizados, no están bien preparados, la red no está construida correctamente

El problema es que la normalización es una causa perdida.

Déjeme explicarle. Hay algunos datos A, B, C...

Son diferentes en cuanto a su importancia, etc. Todo el mundo (google) dice que la normalización debe hacerse por columnas (A-A-A, B-B-B, C-C-C) y no por filas. Esto es lógicamente comprensible.

Pero cuando aparecen nuevos datos para la "predicción" ¿CÓMO normalizarlos si es sólo una fila? ¿Y cualquier término de esa fila puede superar la normalización en los datos de entrenamiento y de prueba?

¡Y la normalización por cadenas no tiene ningún efecto!

En realidad, ya después de comprobar estos matices, tuve este "grito del alma" ))))