MetaTrader 5 Python User Group - как использовать Python в Метатрейдере - страница 82

 
Vladimir Karputov:

Как сделать смещение?

Вот такая таблица (Data Frame)

как сделать так:

Для чего? Просто распечатать?

 
Vladimir Karputov:

Как сделать смещение?

Вот такая таблица (Data Frame)

как сделать так:

Вот, нашел pandas.DataFrame.shift

Главное не забыть последнюю строку удалить, так как  в ней будет мусор.

 
я дико извиняюсь) мне бы узнать можно ли через питон в MQL5 нажать на клавиатуру? на эксперименты совсем нет времени
 
Quite an informative thread on python integration into mt5... Why when I add my python script in mt5 terminal it is added then immediately removed?
 

Уважаемые, прошу подсказать что не так с моим пониманием.

Собрал нейронную сеть. Подготовил данные.

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

Провёл обучение

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

Результат.

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

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

А дальше я не понимаю что происходит...

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]]

Почему такие результаты "предсказания"? Ожидалось либо 0-0, либо 0-1, либо 1-0....

 

Вот так всегда...

Задаёшь вопрос - каждый думает: а нафига мне заморачиваться?

Субъективное мнение: в 93% случаев приходится "насиловать" гугл.... 90% времени уходит на "правильную" подачу вопроса....

Спасибо за отзывчивость! На этом всё. Буду "терзать" гугел....

 

это вероятности классов, 1-го и 2-го

у 2-го вероятность выше, значит предсказывается он

их сумма должна быть равна 1, здесь какая-то ошибка при обучении

на выход 1 нейрон надо, если это бинарная классификация. Или софтмакс
 
Maxim Dmitrievsky:

это вероятности классов, 1-го и 2-го

у 2-го вероятность выше, значит предсказывается он

их сумма должна быть равна 1, здесь какая-то ошибка при обучении

на выход 1 нейрон надо, если это бинарная классификация. Или софтмакс

Бинарная классификация не подразумевает 1 нейрон на выход. По крайней мере из того, что нагуглил...

Но проблема в том, что и при использовании других функций потерь картина не меняется!

Завтра напишу тестер по данным с валидацией по предсказанию. Но что-то мне подсказывает, что результат будет плачевный!

Я просто никак не могу понять, почему "аккуратность" более 96%, а предсказание "вот такое"...

Может я делаю что-то не так?

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

Бинарная классификация не подразумевает 1 нейрон на выход. По крайней мере из того, что нагуглил...

Но проблема в том, что и при использовании других функций потерь картина не меняется!

Завтра напишу тестер по данным с валидацией по предсказанию. Но что-то мне подсказывает, что результат будет плачевный!

Я просто никак не могу понять, почему "аккуратность" более 96%, а предсказание "вот такое"...

Может я делаю что-то не так?

наверное, я без понятия что это за конструктор сетей

1 нейрон не подразумевает, но сумматор должен стоять и ф-я активации. Обычно ставят 1 нейрон

причин может быть много. Например, данные не нормализованы, неправильно подготовлены, криво собрана сеть
 
Maxim Dmitrievsky:

наверное, я без понятия что это за конструктор сетей

1 нейрон не подразумевает, но сумматор должен стоять и ф-я активации. Обычно ставят 1 нейрон

причин может быть много. Например, данные не нормализованы, неправильно подготовлены, криво собрана сеть

Беда ещё и в том, что нормализация - вооще гиблое дело!

Поясню. Есть некоторые данные А, Б, В...

Они разные в плане значимости и прочее. Все (в гугле) пишут, что нормализовать надо не по строкам, а по столбцам (А-А-А, Б-Б-Б, В-В-В). Это логически понятно.

Но при появлении новых данных для "предсказания" КАК их нормализовать, если это только ОДНА строка? И любой член в этой строке может выходить за рамки нормализации на тренировочных и тестовых данных?

А нормализация по строкам никакого эффекта не даёт!

Собственно, уже после проверки этих ньюансов, у меня и родился этот "крик души" )))

Причина обращения: