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

 
Maksim Dmitrievski :

tüm dosyaları seçin ve sterilize edin, bir zip ile indirilecekler

numunelerin farklı uzunlukları daha sonra

Teşekkürler, öyle - memnun olan arşivi indirebilirsiniz!

Ancak farklı örnek uzunlukları kötüdür, küçük sapmaların kabul edilebilir olduğu en rastgele sütunları vurgulamayı düşündüm.

Bu yöntemi sınav örneğine uygulamanıza gerek olmadığını düşünüyorum - yoksa daha sonra gerçek hayatta nasıl kullanabilirsiniz.

Antrenmana başlayacağım bakalım ne olacak.

 
Alexey Vyazmikin :

Teşekkürler, öyle - memnun olan arşivi indirebilirsiniz!

Ancak farklı örnek uzunlukları kötü, küçük sapmaların kabul edilebilir olduğu en rastgele sütunları vurgulamayı düşündüm.

Bence bu yöntemi sınav örneğine uygulamak gerekli değil - yoksa daha sonra gerçek hayatta nasıl kullanabilirsiniz.

Antrenmana başlayacağım bakalım ne olacak.

sınavlar için gerekli değildir, ancak kullanışlı olabilir

 
elibrarius :

dönüştürmek için çok tembel)
İşin esasını anlatayım:

1) sütunu sırala
2) bir kuantumdaki ortalama eleman sayısını hesaplıyoruz, örneğin 10.000 eleman / 255 kuantum = 39.21
3) döngüde, her adımda 39.21 elemanı hareket ettiriyoruz ve sıralanan diziden değeri kuantum değerleri dizisine ekliyoruz. Onlar. 0 dizi değeri = 0 kuantum değeri, 39. değer = 1 kuantum, 78. = 2 kuantum vb.

Değer zaten dizideyse yani yinelemelerin çok olduğu bir alana girdik sonra yinelemeyi atlıyoruz ve ekleme yapmıyoruz.

Her adımda, tam olarak 39.21 ekleriz ve ardından dizideki bir öğeyi seçmek için toplamı yuvarlarız, böylece çift olur. Onlar. 195 (39*5 = 195) eleman yerine 196 ( 39.21 * 5 = (int)196.05) alır

Tek tip bir dağılımla anlaşılabilir - Başlangıçta bir dizi benzersiz değer oluşturup keserdim.

Ancak ızgarayı bölmenin başka yöntemleri de var:

    THolder<IBinarizer> MakeBinarizer( const EBorderSelectionType type) {
         switch (type) {
             case EBorderSelectionType::UniformAndQuantiles:
                 return MakeHolder<TMedianPlusUniformBinarizer>();
             case EBorderSelectionType::GreedyLogSum:
                 return MakeHolder<TGreedyBinarizer<EPenaltyType::MaxSumLog>>();
             case EBorderSelectionType::GreedyMinEntropy:
                 return MakeHolder<TGreedyBinarizer<EPenaltyType::MinEntropy>>();
             case EBorderSelectionType::MaxLogSum:
                 return MakeHolder<TExactBinarizer<EPenaltyType::MaxSumLog>>();
             case EBorderSelectionType::MinEntropy:
                 return MakeHolder<TExactBinarizer<EPenaltyType::MinEntropy>>();
             case EBorderSelectionType::Median:
                 return MakeHolder<TMedianBinarizer>();
             case EBorderSelectionType::Uniform:
                 return MakeHolder<TUniformBinarizer>();
        }
 
Alexey Vyazmikin :

Tek tip bir dağılımla anlaşılabilir - Başlangıçta bir dizi benzersiz değer oluşturup keserdim.

Ancak ızgarayı bölmenin başka yöntemleri de var:

çok fazla örnek olmalı, yoksa model hiçbir şey öğrenmeyecek

 
Maksim Dmitrievski :

çok fazla örnek olmalı, aksi takdirde model hiçbir şey öğrenmeyecek

Bunlar, CatBoost için numuneyi nicelemenin yollarıdır - daha sonra numaralandırma/eğitim bu sınırlar boyunca gerçekleşir.

Deneylerim, gridin her bir tahminci için ayrı ayrı seçilmesi gerektiğini gösteriyor, ardından kalitede bir artış gözlemleniyor ancak CatBoost bunu yapamıyor ve nasıl bir grid oluşturacağımı bilmiyorum ve gridler oluşturup csv'ye yüklemem gerekiyor. ve ardından onları hedeflenen davranışı değerlendirmek için bunları yineleyin. Bunun çok umut verici bir özellik olduğunu düşünüyorum, ancak kodun MQL'ye çevrilmesi gerekiyor.

 
Alexey Vyazmikin :

Bunlar, CatBoost için numuneyi nicelemenin yollarıdır - daha sonra numaralandırma/eğitim bu sınırlar boyunca gerçekleşir.

Deneylerim, gridin her bir tahminci için ayrı ayrı seçilmesi gerektiğini gösteriyor, ardından kalitede bir artış gözlemleniyor ancak CatBoost bunu yapamıyor ve nasıl bir grid oluşturacağımı bilmiyorum ve gridler oluşturup csv'ye yüklemem gerekiyor. ve ardından onları hedeflenen davranışı değerlendirmek için bunları yineleyin. Bunun çok umut verici bir özellik olduğunu düşünüyorum, ancak kodun MQL'ye çevrilmesi gerekiyor.

modelin kendi ayarlarında (parametreler) öyle mi? bu nedir bilmiyorum

ayarlarda yoksa çöp

 
Maksim Dmitrievski :

modelin kendi ayarlarında (parametreler) öyle mi? bu nedir bilmiyorum

ayarlarda yoksa çöp

Ayarlarda var, en azından komut satırı için

--özellik-sınır-tipi

bu   nicemleme modu   sayısal özellikler için

Olası değerler:
  • Medyan
  • üniforma
  • ÜniformaVe Nicelikler
  • MaxLogSum
  • MinEntropi
  • AçgözlüGünlük Toplamı
Quantization - CatBoost. Documentation
  • catboost.ai
Mode How splits are chosen Combine the splits obtained in the following modes, after first halving the quantization size provided by the starting parameters for each of them: Maximize the value of the following expression inside each bucket: Minimize the value of the following expression inside each bucket: Maximize the greedy approximation of...
 
Alexey Vyazmikin :

Ayarlarda var, en azından komut satırı için

--özellik-sınır-tipi

bu   nicemleme modu   sayısal özellikler için

Olası değerler:
  • Medyan
  • üniforma
  • ÜniformaVe Nicelikler
  • MaxLogSum
  • MinEntropi
  • AçgözlüGünlük Toplamı

ve ne, doğrudan güçlü bir şekilde iyileşir mi? yüzde farkı olmalı

 
Alexey Vyazmikin :

Tek tip bir dağılımla anlaşılabilir - Başlangıçta bir dizi benzersiz değer oluşturup keserdim.

Ancak ızgarayı bölmenin başka yöntemleri de var:

Benzersiz ise, o zaman çarpık çıkacaktır. Örneğin, yalnızca 100 satır vardır, bunlardan 10'u benzersizdir, 2'si 45 satır ve 8'i 1'dir. 45 adet) atlanacaktır.
 
Maksim Dmitrievski :

ve ne, doğrudan güçlü bir şekilde iyileşir mi? yüzde farkı olmalı

Doğru bölümün seçimi sonucu önemli ölçüde etkiler.

İşte bir Geri Çağırma örneği - %50'ye kadar yayılma - bu benim için çok önemli.

Sınırları 16'lık artışlarla 16'dan 512'ye çıkarmak - histogram bozuk olmasına rağmen - isimlerim bunu biraz engelliyor.


Ben ızgaraların seçimiyle ilgili deneyler yaparken, mantığı takip etmek için farklı ızgaralara ihtiyaç duyulan ve sadece uygun olmayan farklı öngörücüler olduğu zaten açık.