トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 2112

 
Aleksey Vyazmikin:

yはグリッド分割、Xはサンプル全体における各クラスの対象の合計に対する偏差値の割合である。フィルターは5%です。異なるクラスが異なる領域で支配していること、ミラー変化があること、そして、改善が特定のクラスによるもの(ヒストグラムがマイナス)であること、そうでない場合があることがわかります。これらはすべてトレーニングに生かされるべきものですが、私の知る標準的なトレーニング方法では、あまり考慮されていません。遺伝でオーバーシュートする方が効果的かもしれない(より正確には消去法で)--やらざるを得ない。

1年生の例題の65%が良い量子であることを見つけたとします。
分割は、例えば、真ん中で、このあなたの量子で分割してみましょう。

1)左の枝に分かれるのは、あなたの量子が必要数の65%を占め、さらにあなたの量子の値より小さい多くの量子の例が左の枝に行くからです。その結果、65%ではなく、他の量子の例で希釈されているため、もっと小さな割合が得られることになります。

2) 第二に、もしあなたの量子がツリーの最初の分割でないなら、以前のすべての分割はサンプルから約50%の例を削除したことになります。そして、木のレベル5では、あなたの量子の例の1/(2^5)=1/32の部分が残り、最初のケースと同じように薄くなった量子が混在することになります。つまり、65%の例は、トレーニングの結果、シートに残る可能性が低いのです。

唯一の選択肢は、量子化後に列をカテゴリ特徴としてマークすることです。そうすれば、木の最初の分岐であれば、65%の例すべてが他の量子と混ざらずに左の分岐に行くことになります。もし、最初に割れた木でないなら、また上部の割れた木で間伐をすることになります。

 
elibrarius:

例題の65%がクラス1である良い量子が見つかったとします。
分割は例えば真ん中で起こる、あなたのこの量子で分割させましょう。

1)左の枝には、あなたの量子のうち、必要数の65%を占める量子の例と、あなたの量子の値よりも小さい多くの量子の例がすべて入ります。その結果、65%ではなく、他の量子の例で希釈されているため、もっと小さな割合が得られることになります。

2) 第二に、もしあなたの量子がツリーの最初の分割でないなら、以前のすべての分割はサンプルから約50%の例を削除したことになります。そして、木のレベル5では、あなたの量子の例の1/(2^5)=1/32の部分が残り、最初のケースと同じように薄くなった量子が混じっていることになります。つまり、65%の例は、トレーニングの結果、シートに残る可能性が低いのです。

唯一の選択肢は、量子化後に列をカテゴリ特徴としてマークすることです。そうすれば、木の最初の分岐であれば、65%の例すべてが他の量子と混ざらずに左の分岐に行くことになります。もし、それが木の最初の裂け目でないなら、再び上部の裂け目によって間伐が行われます。

1-2-確かに起こり得ることですが、必ずしもそうではなく、その確率を最小化するアプローチが必要です。

また、カテゴリカルフィーチャーについては、その通りですが、MQにはカテゴリカルフィーチャーを持つモデルインタープリターがありません。

今のところ、量子セグメントを1つの値に統合し、これらの値が発生する別のサンプルを作成することで解決できると考えています - そうすれば、そのサブセットで作業することが保証されます。葉っぱを探しながらやるんですが、最初はいろいろな方法を使って素早く量子化する必要があるんです。

 
Aleksey Vyazmikin:

結果は奇妙なもので、テストとトレーニングのサンプルではRecall 0.6-0.8、テストでは変換なしで0.009、変換ありで0.65と、何かがおかしいのです :(

CatBoostは変換アルゴリズムを学習しているような気がします :)

また、新旧のラインをマークするチャンスはあるのでしょうか?そして、変換されたサンプルから変換された文字列を 取り除き、解釈の問題なのか、質的訓練ではないのか、すべて同じように確認することが可能です。

のはずですが、新しいデータでは同じクラスの例が少なくなっています。ここでは、一般性を高めるために、テスターで一度に実行する必要があります。

私のデータでは、リサンプリングは役に立ちません。

を引くと、最後に新しい行が追加され、元のデータセットが残ります。この方法は、マイナーなクラスに最近接法で例を追加していくだけです。すなわち、もっともらしい新しいラベルや特徴を作り出す

 
Aleksey Vyazmikin:

1-2:確かにそうかもしれませんが、必ずしもそうとは限りません。 この確率を最小 化するアプローチが必要です。

また、カテゴリカルフィーチャーについては、その通りですが、MQにはカテゴリカルフィーチャーを持つモデルインタープリターがありません。

今のところ、量子セグメントを1つの値に統合し、これらの値が発生する別のサンプルを作成することで解決できると考えています - そうすれば、そのサブセットで作業することが保証されます。葉っぱを探しながらやりますが、最初のうちはいろいろな方法を使って素早く量子化する必要があります。

これはツリーを構築するためのアルゴリズムです。変えることはできません。自分でキャットブーストを 書かない限りは。

 
マキシム・ドミトリエフスキー

のはずですが、新しいデータでは同じクラスの例が少なくなっています。ここでは、一般性を高めるために、テスターで一度に実行する必要があります。

私のデータでは、リサンプリングは役に立ちません。

を引くと、最後に新しい行が追加され、元のデータセットが残ります。この方法は、マイナーなクラスに最近接法で例を追加していくだけです。すなわち、もっともらしい新しいラベルや特徴を作り出す

だから、リコールは高くなければ意味がないのです。サンプルバランスに左右されない。

動作原理がよくわかりました、ありがとうございます。

クラスタリング「Cluster Centroids」で何か方法があるのか、あるいはここから 何を試せばいいのか。

5 главных алгоритмов сэмплинга
5 главных алгоритмов сэмплинга
  • habr.com
Работа с данными — работа с алгоритмами обработки данных. И мне приходилось работать с самыми разнообразными на ежедневной основе, так что я решил составить список наиболее востребованных в серии публикаций. Эта статья посвящена наиболее распространённым способам сэмплинга при работе с данными.
 
elibrarius:

これはツリーを構築するためのアルゴリズムです。変えることはできません。自分でキャットブーストを書かない限りは。

それは、自分でアルゴリズムを作れ、ということです。

 
Aleksey Vyazmikin:

だから、リコールは高いままでなければ意味がないのです。サンプルのバランスに左右されない。

原理は理解できました、ありがとうございます。

クラスタリング「Cluster Centroids」を使った方法があるようですが、ここから試してみて ください。

こちらは逆に主要なクラスからラベルを削除しています。

 
マキシム・ドミトリエフスキー

一方こちらは、主要なクラスからマークを外し

だから、気の利いた方法でゼロを削除してみよう、もしかしたら効果があるかもしれない。

 
Aleksey Vyazmikin:

そうやって気の利いた方法でゼロを消せば、もしかしたら効果があるかもしれません。

をノートブックに書き込むと、メソッドを置き換えるだけで完了します。

from imblearn.under_sampling import ClusterCentroids
cc = ClusterCentroids(random_state=0)
X_resampled, y_resampled = cc.fit_resample(X, y)

一例です

https://imbalanced-learn.readthedocs.io/en/stable/under_sampling.html

ニアミスがいい(写真ベース)

3. Under-sampling — imbalanced-learn 0.5.0 documentation
  • imbalanced-learn.readthedocs.io
On the contrary to prototype generation algorithms, prototype selection algorithms will select samples from the original set . Therefore, is defined such as and . In addition, these algorithms can be divided into two groups: (i) the controlled under-sampling techniques and (ii) the cleaning under-sampling techniques. The first group of methods...
 
マキシム・ドミトリエフスキー

ノートPCの場合は、方式を入れ替えるだけでOKです。

変える場所を間違えたのでしょう、戦っています。

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-2-e8cb95eddaea> in <module>()
      1 cc = ClusterCentroids(random_state=0)
----> 2 X_resampled, y_resampled = cc.fit_resample(X, y)

NameError: name 'X' is not defined

何が問題なのか確認してください。

理由: