Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2954

 
mytarmailS #:
В каждом пакете обезательно есть справка по каждой функции с описанием и примером

Я бы мог сказать это про любой язык, и что люди коды свои выкладывают - идиоты!

 
Aleksey Vyazmikin #:

У CatBoost открытый код, своё комьюнити, и внедрение во множество коммерческих проектов, поэтому сразу поддержка не прекратиться, даже если Яндекс закроют.

Ну, может быть. Хотя в микрософт верю больше)

Aleksey Vyazmikin #:

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

Вроде Яндекс не резидент РФ и никогда им не был. Сейчас он ещё и физически переехал и, кажется, перестал быть основным поисковиком в России. Будет удивительно, если в ближайшие годы его не поглотит гугл или микрософт. 

 
Aleksey Nikolayev #:

Вроде Яндекс не резидент РФ и никогда им не был. Сейчас он ещё и физически переехал и, кажется, перестал быть основным поисковиком в России. Будет удивительно, если в ближайшие годы его не поглотит гугл или микрософт. 

У Яндекса в РФ много ОООшек, через которые и осуществляются разные проекты. Как там юридически они выходят на головную фирму - надо ещё изучать.

 
Aleksey Vyazmikin #:

Я бы мог сказать это про любой язык, и что люди коды свои выкладывают - идиоты!

Что вы хотите от меня?
Чтобы я открыл справку, скопировал пример кода и вставил его тут для вас? 
Потому что сами вы не можете
 
Aleksey Nikolayev #:

надо посмотреть что будет выдавать в примере Рената.

В его примере (публичный проект ONNX.Price.Prediction) тоже выдаются отрицательные числа, но массив размерности входного параметра длиной три, а не два как у меня.

PS. Проверял в последней версии 3605, всё без изменений.

OnnxTypeInfo otype;
OnnxGetInputTypeInfo(handle, 0, otype);
ArrayPrint(otype.dimensions);                   // -1 -1 4 (у меня: -1 8)
OnnxGetOutputTypeInfo(handle, 0, otype);
ArrayPrint(otype.dimensions);                   // -1 1 (у меня также)
 
mytarmailS #:
Что вы хотите от меня?
Чтобы я открыл справку, скопировал пример кода и вставил его тут для вас? 
Потому что сами вы не можете

Возможно, я хочу каких то действий со стороны участников ветки...

Раньше тут выкладывали код, вот и хорошо бы возродить те времена.

 
Aleksey Vyazmikin #:

У Яндекса в РФ много ОООшек, через которые и осуществляются разные проекты. Как там юридически они выходят на головную фирму - надо ещё изучать.

Много ОООшек - это всегда очевидный признак того как всё всерьёз и надолго)

 
Aleksey Nikolayev #:

Много ОООшек - это всегда очевидный признак того как всё всерьёз и надолго)

Это признак работы в РФ....

Даже Сбер так делает...
 
У них группа в телеге, каждый день поддержка
Разрабы ответят на самые каверзные вопросы
Я их подпинывал, вместе с другими, по поводу версии для Mac m1, сделали через полгода
 
Maxim Dmitrievsky #:
Там на вход точно матрицу 2-мерную нужно, как в вашем примере? Логичнее одномерный массив с признаками, кажется. Может ругаться на неправильную форму матрицы. Например, вместо одномерного нужно давать 2-мерный, где каждая запись во 2-м измерении, т.е вложенные массивы, содержащие по 1 значению.

Вы оказались правы - в моём примере (onnx для бустинга) надо подавать на вход вектор, а не матрицу. Причём должен быть float вектор, а не double. То что в питоне можно было подавать матрицу (сразу несколько строк) - это, наверное, сработала питоновская векторизация. Что бы в MQL5 сделать такое, придётся запускать модель в цикле, видимо.

Работающая версия MQL5 скрипта для моего примера:

void OnStart()
  {
   long h = OnnxCreate("model.onnx", FILE_COMMON);
   const long  ExtInputShape [] = {1,8};
   const long  ExtOutputShape[] = {1,1};
   OnnxSetInputShape(h,0,ExtInputShape);
   OnnxSetOutputShape(h,0,ExtOutputShape);
   
   vectorf vx={8.32520000e+00f, 4.10000000e+01f, 6.98412698e+00f, 1.02380952e+00f,
               3.22000000e+02f, 2.55555556e+00f, 3.78800000e+01f,-1.22230000e+02f};
   vectorf vy={0.0f};
      
   OnnxRun(h, ONNX_DEBUG_LOGS | ONNX_NO_CONVERSION, vx, vy);
   Print(vx);
   Print(vy);
   OnnxRelease(h);
  }
Машинное обучение в трейдинге: теория, модели, практика и алготорговля - Если у вас динамическое IP, то не получается вывод в MQL5 из ONNX-модели.
Машинное обучение в трейдинге: теория, модели, практика и алготорговля - Если у вас динамическое IP, то не получается вывод в MQL5 из ONNX-модели.
  • 2023.03.07
  • www.mql5.com
либо обучать древесную модель и брать точку первого сплита по этому признаку. при обучении в питоне тестил модель на первых пяти строках датасета. Потом при запуске ONNX в питоне тоже проверил вывод на тех же первых пяти строках
Причина обращения: