Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 966

[Silindi]  
Michael Marchukajtes :

Yazdı Yazdı, sonra forum bozuldu, bu yüzden resimden okuyun, en azından yapmış olması iyi ...

xgboost'u eklmn veya bir tür k yerine R'ye bağlayalım. hangisini kullanırsanız kullanın

Yakında bir şeyi python ve boost'a çevireceğim ve ne gibi iyileştirmeler olacağını göreceğim
 
Maksim Dmitrievski :

xgboost'u eklmn veya bir tür k yerine R'ye bağlayalım. hangisini kullanırsanız kullanın

Yakında bir şeyi python'a çevireceğim ve hızlandıracağım ve ne gibi iyileştirmeler olacağını göreceğim

İndirildi. Kurulmuş. Ama Doc olmadan, sanırım ustalaşmam pek mümkün değil. Keşke nasıl kullanılacağına dair bir örnek içeren bir senaryo yayınlasaydı. Bence denemek mümkün olacaktır. Yine soru, modeli MT'ye aktarmak mı? Köprü veya başka bir şey inşa etmek istemiyorum. Bir modeli xboost'tan MT4'e nasıl aktarabilirim ???

[Silindi]  
Michael Marchukajtes :

İndirildi. Kurulmuş. Ama Doc olmadan, sanırım ustalaşmam pek mümkün değil. Keşke nasıl kullanılacağına dair bir örnek içeren bir senaryo yayınlasaydı. Bence denemek mümkün olacaktır. Yine soru, modeli MT'ye aktarmak mı? Köprü veya başka bir şey inşa etmek istemiyorum. Bir modeli xboost'tan MT4'e nasıl aktarabilirim ???

xs, bu P'yi sevenler için

python bağlayacağım. Teorik olarak xgb genellikle dll üzerinden terminale bağlanabilir, dll ile uğraşanlara sormak lazım, paylaşmıyorum

işte python için bir kod makalesi https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

ve orada yazarın başka bir makalesi GBM hakkında bir karşılaştırması var (artırmanın nasıl çalıştığı hakkında bir fikir edinmek için)

[Silindi]  

Linkteki örnekten xgb şarj ettim ama laptop GPU'su üzerinde çalışıyor :) zaten oldukça hızlı olmasına rağmen 10 kat hızlandırma elde edebilirsiniz

Ve dll'nin doğrudan MT4/5'ten ve hatta GPU desteği ile çağrılabileceği ortaya çıktı. Küçüğüne kalmış, konuyu daha iyi tüttür

 
Maksim Dmitrievski :

xs, bu P'yi sevenler için

python bağlayacağım. Teorik olarak xgb genellikle dll üzerinden terminale bağlanabilir, dll ile uğraşanlara sormak lazım, paylaşmıyorum

işte python için bir kod makalesi https://www.analyticsvidhya.com/blog/2016/03/complete-guide-parameter-tuning-xgboost-with-codes-python/

ve orada yazarın başka bir makalesi GBM hakkında bir karşılaştırması var (artırmanın nasıl çalıştığı hakkında bir fikir edinmek için)

Xgb teması, kurulum, bina vb. ile başlayarak oldukça eziyetlidir. Yandex kütüphanesi bu konuda daha tutarlı görünüyor https://tech.yandex.com/catboost/doc/dg/concepts/about-docpage/

CatBoost — Overview of CatBoost — Yandex Technologies
CatBoost — Overview of CatBoost — Yandex Technologies
  • tech.yandex.com
is a machine learning algorithm that uses gradient boosting on decision trees. It is available as an open source library.
[Silindi]  
Ivan Negreshniy :

Xgb teması, kurulum, bina vb. ile başlayarak oldukça eziyetlidir. Yandex kütüphanesi bu konuda daha tutarlı görünüyor https://tech.yandex.com/catboost/doc/dg/concepts/about-docpage/

hayır, her şey basit, kurulacak ve kurulacak. Zaten monte edilmiş olanlar var, sadece gpu da dahil olmak üzere yerel bir klasörden kopyalayıp yükleyin

Boost modelleri için gpu küçük bir hızlanma sağlar çünkü. model sırayla oluşturulur ve yalnızca ayrı ağaçlardaki bölmeler paralelleştirilir, yani. gerçekten pek mantıklı değil

katboost, light GBM ve diğerleri çok daha kalitesiz (sahte gibi) :) en azından kullanıcılar internette böyle yazıyor

Bugün MT5'e aktarmayı deneyeceğim ve

 
Maksim Dmitrievski :

Hayır, her şey basit, kurulacak ve kurulacak. Zaten monte edilmiş olanlar var, sadece gpu da dahil olmak üzere yerel bir klasörden kopyalayıp yükleyin

Boost modelleri için gpu küçük bir hızlanma sağlar çünkü. model sırayla oluşturulur ve yalnızca ayrı ağaçlardaki bölmeler paralelleştirilir, yani. gerçekten pek mantıklı değil

katboost, light GBM ve diğerleri çok daha kalitesiz (sahte gibi) :) en azından kullanıcılar internette böyle yazıyor

belki birisi zaten çok fazla deneyim kazanmış ve ustaca kontrol etmiştir, ancak ilk bakışta bana yayılma çok büyük gibi geldi, ancak giderek daha fazla MO istiyorum, istikrarlı sonuçlar ve daha az şamanizm :))

[Silindi]  
Ivan Negreshniy :

belki birisi zaten çok fazla deneyim kazanmış ve ustaca kontrol etmiştir, ancak ilk bakışta bana yayılma çok büyük gibi geldi, ancak giderek daha fazla MO istiyorum, istikrarlı sonuçlar ve daha az şamanizm :))

evet, hala ayarlanması gerekiyor .. peki, kısacası, deneyeceğim

f-ii'nin dll'den nasıl içe aktarılacağı konusunda keskin bir sarmalayıcı buldum .. orada varsayılan olarak çapraz doğrulama olmadığını anlamadım, ayrı gidiyor

https://github.com/PicNet/XGBoost.Net/blob/master/XGBoost/lib/XGBOOST_NATIVE_METHODS.cs

[Silindi]  
//+------------------------------------------------------------------+
//|                                                      xgboost.mq5 |
//|                                 Copyright 2018, Max Dmitrievskiy |
//|                        https://www.mql5.com/ru/users/dmitrievsky |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, Max Dmitrievskiy"
#property link        "https://www.mql5.com/ru/users/dmitrievsky"
#property version    "1.00"
#import "xgboost.dll"
string XGBGetLastError();
int XGDMatrixCreateFromMat( float &[], ulong nrow, ulong ncol, float missing, int handle);
int XGDMatrixFree( int handle);
int XGDMatrixGetFloatInfo( int handle, string field, ulong len, int result);
int XGDMatrixSetFloatInfo( int handle, string field, float &[], ulong len);
int XGBoosterCreate( int &[], ulong len, int handle);
int XGBoosterFree( int handle);
int XGBoosterSetParam( int handle, string name, string val);
int XGBoosterUpdateOneIter( int bHandle, int iter, int dHandle);
int XGBoosterPredict( int bHandle, int dHandle, int optionMask, int ntreeLimit, ulong predsLen, int predsPtr);
int XGBoosterSaveModel( int bHandle, string fileName);
int XGBoosterLoadModel( int bHandle, string fileName);
int XGDMatrixCreateFromFile( string fname, int silent, int DMtrxHandle);
int XGBoosterDumpModel( int handle, string fmap, int with_stats, int out_len, int dumpStr);
#import
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart ()
  {
//--

   int a[1]={1};
   ulong ab=1;
   int hnd=1;
   XGBoosterCreate(a, ab, hnd);
  }
//+------------------------------------------------------------------+

Kampanyada kendim ustalaşmayacağım, sonuçta python kullanmam gerekecek: D

2018.05.31 15:00:17.587 xgboost (EURUSD,M15)    Access violation at 0x00007FFA5D7BA68E read to 0xFFFFFFFFFFFFFFFF in 'C:\Users\dmitrievsky\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5\Libraries\xgboost.dll'
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)       crash -->  00007FFA5D7BA68E 498B4708          mov        rax, [r15+0x8]
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)                  00007FFA5D7BA692 4885C0            test       rax, rax
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)                  00007FFA5D7BA695 7404              jz         0x7ffa5d7ba69b
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)                  00007FFA5D7BA697 F0FF4008          lock inc        dword [rax+0x8]
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)                  00007FFA5D7BA69B 498B07            mov        rax, [r15]
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)                  00007FFA5D7BA69E 488904DE          mov        [rsi+rbx*8], rax
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)                  00007FFA5D7BA6A2 498B4708          mov        rax, [r15+0x8]
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    00: 0x00007FFA5D7BA68E
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    01: 0x000000005B0FAB91
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    02: 0x0000000000000001
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    03: 0x0000000000000246
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    04: 0x00007FF784D2BBB4
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    05: 0x00007FF784D2B933
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    06: 0x00007FF7851BEA5E
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    07: 0x00007FF7851BD979
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    08: 0x00007FF784C09A90
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    09: 0x00007FFA870C3034
2018.05.31 15:00:17.592 xgboost (EURUSD,M15)    10: 0x00007FFA87531551
 
Maksim Dmitrievski :

evet, hala ayarlanması gerekiyor .. peki, kısacası, deneyeceğim

f-ii'nin dll'den nasıl içe aktarılacağı konusunda keskin bir sarmalayıcı buldum .. orada varsayılan olarak çapraz doğrulama olmadığını anlamadım, ayrı gidiyor

https://github.com/PicNet/XGBoost.Net/blob/master/XGBoost/lib/XGBOOST_NATIVE_METHODS.cs

IMHO, önce az ya da çok hata ayıklandığı python'da çalışmak gerekir, aksi takdirde çok fazla belirsizlik vardır.