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

 
Dr. tüccar :

Bunun için bir orman kullanmak daha iyidir, bu model böyle bir dizi kural yaratacaktır:


1: DeltaLess350 <= 0,5
2: ZZ_D <= 0
Karar 0

1: DeltaLess350 <= 0,5
2: ZZ_D > 0
3: DeltaDaha 350 <= 0,5
Karar 0

1: DeltaLess350 <= 0,5
2: ZZ_D > 0
3: DeltaMore350 > 0,5
Karar 1

DeltaLess350 > 0,5
Karar 1


Makale, bunun R'de nasıl yapılacağına dair bir açıklama içermektedir:
https://www.mql5.com/ru/articles/1165

"Model" sekmesinde bir orman seçin, ayarlarda ağaç sayısını ayarlayın = 1, bir model oluşturun ve ardından Kurallar düğmesine tıklayarak aşağıdaki kural listesini göreceksiniz.

Cevap için teşekkürler. Belki doğru okumuyorum, ancak görünen o ki, model Excel'den doğru değil, veri satırının ilk (ve sonraki satırları) için böyle bir formül "=IF(VEYA(VE(B2=1;D2=1)) ;VE(C2=1;D2=1);1;0)"

Onlar. Açık mantık için iskele kullanmak daha mı iyi? Özellik çıkarma ile aynı, değil mi?

Yazı için teşekkürler - Tekrar çalışacağım - Uzun bir süre okuduğumu hatırlıyorum ama şimdi biraz daha bilgi var, belki daha net olur.

Eklendi: Resim ilginç, ancak mantık açıkça tahmin edilmiyor ... ya da değil mi?
 

Gönderiyi biraz yeniden yazdım, orman yerine bir ağaç kullanarak daha uygun olduğu ortaya çıktı. Formül her iki durumda da farklı görünüyor, ancak cevap yine de doğru.

Cevap, girdi değerlerinin doğru kombinasyonu ile bulunabilirse, orman iyi çalışır, evet. Ahşabın herhangi bir tür toplama ve çarpma işlemi yapamaz.

 
Alexey Vyazmikin :

"=IF(OR(AND(B2=1;D2=1);AND(C2=1;D2=1); ));1; 0)"

Şey, bilmiyorum .. Excel'de kontrol ettim - ormandan gelen formül toplamda birkaç kez yanlıştı. Ağaç formülü her durumda çakıştı.

 
Dr. tüccar :

Gönderiyi biraz yeniden yazdım, orman yerine bir ağaç kullanarak daha uygun olduğu ortaya çıktı. Formül her iki durumda da farklı görünüyor, ancak cevap yine de doğru.

Cevap, girdi değerlerinin doğru kombinasyonu ile bulunabilirse, orman iyi çalışır, evet. Ahşabın herhangi bir tür toplama ve çarpma işlemi yapamaz.

Peki, burada verdiği sonuç, ancak durumu bir satıra veya bir fonksiyona daraltma, böylece düzelterek kodda hızlı bir şekilde uygulanabilme fırsatı var mı? Yoksa oturup her mantığı kendi başınıza tanımlamanız ve aynı zamanda sonucun yorumlanmasında hata yapmamanız mı gerekiyor? Sadece, gelen değer kümesi onlarca ölçülürse, bu son derece zaman alıcı bir süreçtir ...

 
Dr. tüccar :

Şey, bilmiyorum .. Excel'de kontrol ettim - ormandan gelen formül toplamda birkaç kez yanlıştı. Ağaç formülü her durumda çakıştı.

Evet, ağaçtan gelen formül, doğru karar olduğu ortaya çıkan koda bakılırsa, elimine edildi.

 

Her şey daha da basit, formüllerle uğraşmanıza gerek yok, eğitimden sonra yeni veriler üzerinde tahminler yapabileceğiniz normal bir R modeli elde edersiniz.

Tüm tahminler tek bir fonksiyon tarafından yapılır

predict(model, newdata)

model önceden oluşturulmuş bir modeldir (ağaç, orman, nöron vb. R'de yüzlerce farklı model vardır). newdata - tahmin için yeni veriler içeren tablo

 
Dr. tüccar :

Her şey daha da basit, formüllerle uğraşmanıza gerek yok, eğitimden sonra yeni veriler üzerinde tahminler yapabileceğiniz normal bir R modeli elde edersiniz.

Tüm tahminler tek bir fonksiyon tarafından yapılır

model önceden oluşturulmuş bir modeldir (ağaç, orman, nöron vb. R'de yüzlerce farklı model vardır). newdata - tahmin için yeni veriler içeren tablo

Bu ilginç, ama henüz sonuna kadar net değil - daha önce R ile çalışmadım ... Bunu ayrıntılı olarak anlamak için yapmak zorundayım.

Burada bir soru daha canımı sıkıyor, giriş verilerinde tamamen rastgele olan hatalı veriler varsa, o zaman orman/ağaç bunu belirleyebilir mi? Girdi verilerinin sütunlara göre otomatik olarak devre dışı bırakılmasını, bunları hariç tutmak için sol verileri aramak da dahil olmak üzere, numaralandırma açısından düzenlemek mümkün müdür?

 

En yaygın orman, hedefi belirlemek için minimum veri kümesini bulacaktır. Ancak sesleri ve hataları analiz etmeyecek, hatta tahmin doğruluğunu iyileştirmeye yardımcı olurlarsa bunları kullanıyor. Bu nedenle, örneğin, sadece bir sürü Forex göstergesi toplayıp eğilimleri tahmin etmeye çalışamazsınız.

Ormanın çeşitli gelişmiş modifikasyonları var, gürültü ve hataları ve yazdığınız her şeyi ayıklama girişimleri var. Örneğin R'de gbm, xgboost paketleri. Genel olarak iyi çalışıyorlar ancak Forex için oldukça zayıflar, burada başka yöntemlere ihtiyaç var.

 
Alexey Vyazmikin :

Söylesene, "Calc" sütununun mantığını (nöron) tanımlamak için hangi sinir ağı algoritması kullanılabilir? bir numaralı tavsiye: makine öğrenimi olmadan yapabiliyorsanız, yapın :)

1: numune boyutuna karar verin, numuneniz çok küçük

2. basit sınıflandırma / regresyon modellerini (doğrusal) inceleyin, büyük olasılıkla size uyacaktır ve hata büyükse, daha karmaşık (doğrusal olmayan) olanlara geçmeyi deneyebilirsiniz

3. Asla hiçbir tavsiyeyi dinlemeyin, özellikle R'ye geçin :))) onları bu forumdan atmanın zamanı geldi

4. Sorun makine öğrenmesi olmadan çözülebilirse, kullanmamak daha iyidir

 
Dr. tüccar :

En yaygın orman, hedefi belirlemek için minimum veri kümesini bulacaktır. Ancak sesleri ve hataları analiz etmeyecek, hatta tahmin doğruluğunu iyileştirmeye yardımcı olurlarsa bunları kullanıyor. Bu nedenle, örneğin, sadece bir sürü Forex göstergesi toplayıp eğilimleri tahmin etmeye çalışamazsınız.

Ormanın çeşitli gelişmiş modifikasyonları var, gürültü ve hataları ve yazdığınız her şeyi ayıklama girişimleri var. Örneğin R'de gbm, xgboost paketleri. Genel olarak iyi çalışıyorlar ancak Forex için oldukça zayıflar, burada başka yöntemlere ihtiyaç var.

Göstergelerin anlamını sunmak istemiyorum, amacım mantıksal olarak tanımlanmış gözlemleri sunmaktır (durumun gözlemlenip gözlemlenmediği - haber ve uzaydaki farklı göstergelerin birbirine göre ilişkisi olabilir - genel olarak sıkıştırılmış bir karar vermek için gerçek ticarette kullandığım bilgiler), daha önce bu göstergeler temelinde oluşturulmuş ve hatalı olanları ayıklamaya çalışın, yani. girdi verileri 0 ve 1 veya girdi başına biraz daha fazla basamak olacaktır (burada, bu arada, soru şu ki, haftanın günlerinin etkisine bakmak istersem, farklı yapmak benim için daha mı iyi olur? günü işaretleyen giriş parametreleri veya 1'den 5'e kadar bir parametre atamak yeterli mi?).

Ve eğer cevap biliniyorsa, örneğimde olduğu gibi, ancak daha karmaşık görevler için, verimlilik için farklı algoritmaları bile karşılaştırdı mı?