"ONNX modellerini sınıflara sarma" makalesi için tartışma

 

Yeni makaleye göz atın: ONNX modellerini sınıflara sarma.

Nesne yönelimli programlama, okunması ve değiştirilmesi kolay olan daha kompakt bir kod oluşturulmasını sağlar. Burada üç ONNX modeli için örneğe bir göz atacağız.

Oy çoğunluğu <toplam oy sayısı>/2 + 1 denklemine göre hesaplanır. Toplam 3 oy için çoğunluk 2 oydur. Bu, "sert oylama" olarak adlandırılan bir durumdur.

Aynı ayarlarla test sonucu.

Sert oylama test sonuçları

Her üç modelin çalışmasını, yani kârlı ve kârsız işlemlerin sayısını ayrı ayrı hatırlayalım. İlk model - 11 : 3, ikinci model - 6 : 1, üçüncü model - 16 : 10.

Görünüşe göre sert oylamanın yardımıyla sonucu iyileştirdik - 16 : 4. Ancak elbette tam raporlara ve test grafiklerine bakmamız gerekiyor.

Yazar: MetaQuotes

 
Çok faydalı makale!

MT5 tarafından ONNX sürüm 1.13.0 mı yoksa 1.14.0 mı kullanılıyor?
 

Bu gerçekten çok ilginç, çok teşekkür ederim.

Makaleye eklenen ONNX.eurusd.D1.30.class.Training.py ML dosyasında, def collect_dataset() içinde aşağıdaki kod satırları (satır 48 - 59 ) bulunmaktadır:

    for i in tqdm(range(n - sample_size)):
        w = df.iloc[i: i + sample_size + 1]
        x = w[['close', 'ma_fast', 'ma_slow']].iloc[:-1].values

        delta = x[0][-1] - w.iloc[-1]['close']
        if np.abs(delta)<=0.0001:
           y = 0, 1, 0
        else:
           if delta>0:
              y = 1, 0, 0
           else:
              y = 0, 0, 1

Yukarıda vurgulanan satırın arkasındaki mantık nedir lütfen?

Sınıflandırma, ilk örneğin 'ma_slow'(x[0][-1]) ile yeni hedefin 'close' (w.iloc[-1]['close']) arasındaki farka dayanır. Ayrıca'sample_size-1'den farklı bir zaman olacaktır.

Ek olarak:

if delta>0:
              y = 1, 0, 0

Bunun y = 0,0,1 olması gerekmez mi? Yani bir Satış sinyali.

Aynı şekilde ONNX.eurusd.D1.10.class.Training.py içinde def collect_dataset(), satır45-47:

        x = w[['open', 'high', 'low', 'close']].iloc[:-1].values

        delta = x[3][-1] - w.iloc[-1]['close']
Nasıl? Sınıflandırma, dördüncü örneğin 'kapanışı'(x[3][-1]) ile yeni hedefin 'kapanışı' (w.iloc[-1]['close']) arasındaki farka dayanır; ve'sample_size-4' zaman farkı olacaktır.
 
Xiaoyu Huang #:
Çok faydalı makale!

MT5 tarafından ONNX sürüm 1.13.0 mı yoksa 1.14.0 mı kullanılıyor?
Bilgileri bulamıyorum. Sormak için bir sebebiniz var mı?