Maschinelles Lernen im Handel: Theorie, Modelle, Praxis und Algo-Trading - Seite 2112

 
Aleksey Vyazmikin:

Bei y handelt es sich um die Gitteraufteilung und bei X um die Abweichung in Prozent der Summe der Zielwerte jeder Klasse in der gesamten Stichprobe. Der Filter beträgt 5 %. Sie können sehen, dass verschiedene Klassen in verschiedenen Bereichen dominieren, es gibt einen Spiegelwechsel - dann ist die Verbesserung auf eine bestimmte Klasse zurückzuführen (das Histogramm ist negativ), und manchmal ist sie es nicht. All dies sollte im Training genutzt werden, aber die mir bekannten Standard-Trainingsmethoden berücksichtigen dies nur wenig. Es kann effektiver sein, bei der Genetik (genauer gesagt bei der Eliminierung) über das Ziel hinauszuschießen - man muss es tun.

Angenommen, Sie finden ein gutes Quantum, in dem 65 % der Beispiele der 1.
Splitting erfolgt zum Beispiel in der Mitte, lassen Sie dadurch Ihr Quantum splitten.

1) Von der Aufteilung in den linken Zweig gehen alle Beispiele aus deinem Quantum mit 65% der benötigten Beispiele und aus vielen weiteren Quanten, die um den Wert deines Quants kleiner sind, in den linken Zweig. Infolgedessen erhalten Sie nicht 65 %, sondern einen anderen Prozentsatz, der aufgrund der Verdünnung mit Beispielen aus anderen Quanten viel kleiner ist.

2) Zweitens: Wenn Ihr Quantum nicht der erste Split im Baum ist, dann wurden bei allen vorherigen Splits etwa 50 % der Beispiele aus der Stichprobe entfernt. Und auf der fünften Ebene des Baumes verbleibt 1/(2^5)=1/32 Teil der Beispiele in Ihrem Quant, das mit denselben ausgedünnten Quanten wie im ersten Fall gemischt wird. Das heißt, es ist unwahrscheinlich, dass 65 % der Beispiele als Ergebnis der Ausbildung im Blatt verbleiben.

Die einzige Möglichkeit besteht darin, Spalten nach der Quantisierung als kategorische Merkmale zu markieren - wenn es sich dann um den ersten Split im Baum handelt, gehen alle 65 % der Beispiele in den linken Zweig, ohne sich mit anderen Quanten zu vermischen. Wenn es sich nicht um den ersten Spalt im Baum handelt, kommt es wieder zu einer Ausdünnung durch obere Spaltungen.

 
elibrarius:

Angenommen, Sie finden ein gutes Quantum, bei dem 65 % der Beispiele der Klasse 1 angehören.
Die Spaltung geschieht zum Beispiel in der Mitte, lassen Sie es durch dieses Quantum von Ihnen gespalten werden.

1) Von der Aufteilung gehen alle Beispiele aus deinem Quantum mit 65% der benötigten Beispiele und aus vielen weiteren Quanten, die um den Wert deines Quants kleiner sind, in den linken Zweig. Infolgedessen erhalten Sie nicht 65 %, sondern einen anderen Prozentsatz, der aufgrund der Verdünnung mit Beispielen aus anderen Quanten viel kleiner ist.

2) Zweitens: Wenn Ihr Quantum nicht der erste Split im Baum ist, dann wurden bei allen vorherigen Splits etwa 50 % der Beispiele aus der Stichprobe entfernt. Und auf der fünften Ebene des Baumes verbleibt 1/(2^5)=1/32 der Beispiele in Ihrem Quant, das mit denselben ausgedünnten Quanten wie im ersten Fall vermischt wird. Das heißt, es ist unwahrscheinlich, dass 65 % der Beispiele als Ergebnis der Ausbildung im Blatt verbleiben.

Die einzige Möglichkeit besteht darin, die Spalten nach der Quantisierung als kategorische Merkmale zu markieren. Wenn es sich dann um den ersten Split im Baum handelt, gehen alle 65 % der Beispiele in den linken Zweig, ohne sich mit anderen Quanten zu vermischen. Wenn es sich nicht um den ersten Spalt im Baum handelt - dann kommt es wieder zu einer Ausdünnung durch obere Spaltungen.

1-2 - ja, das kann passieren, muss aber nicht, Sie brauchen einen Ansatz, der diese Wahrscheinlichkeit minimiert.

Und über kategorische Merkmale - das stimmt, aber für MQ gibt es keinen Modellinterpreter mit kategorischen Merkmalen.

Bislang sehe ich eine Lösung darin, die Quantensegmente unter einem Wert zu konsolidieren und eine separate Stichprobe zu erstellen, in der diese Werte vorkommen - auf diese Weise wird gewährleistet, dass wir mit dieser Teilmenge arbeiten können. Ich werde dies tun, während ich nach Blättern suche, aber zunächst muss ich schnell mit verschiedenen Methoden quantifizieren.

 
Aleksey Vyazmikin:

Die Ergebnisse sind seltsam - bei Test- und Trainingsbeispielen Recall 0,6-0,8 und bei der Prüfung ohne Transformation 0,009 und mit Transformation 0,65 - irgendetwas ist hier falsch :(

Ich habe das Gefühl, dass CatBoost den Umrechnungsalgorithmus erlernt hat :)

Und gibt es eine Möglichkeit, alte und neue Linien zu markieren? Dann ist es möglich, transformierte Zeichenketten aus der transformierten Stichprobe zu entfernen und zu sehen, ob es sich um ein Interpretationsproblem handelt oder nicht doch um eine qualitative Ausbildung.

sein sollte, gibt es in den neuen Daten weniger Beispiele derselben Klasse. Hier sollte die Verallgemeinerbarkeit besser sein, wir sollten es gleich im Tester laufen lassen

Bei meinen Daten hilft das Resampling nicht.

neue Zeilen werden am Ende hinzugefügt, wenn Sie den ursprünglichen Datensatz subtrahieren bleibt. Diese Methode fügt lediglich Beispiele mit der Methode des nächsten Nachbarn zu einer kleineren Klasse hinzu. D.h. schafft plausible neue Bezeichnungen und Merkmale

 
Aleksey Vyazmikin:

1-2 - ja, das kann sein, muss aber nicht, Sie brauchen einen Ansatz, der diese Wahrscheinlichkeit minimiert.

Und über kategorische Merkmale - das stimmt, aber für MQ gibt es keinen Modellinterpreter mit kategorischen Merkmalen.

Bislang sehe ich eine Lösung darin, die Quantensegmente unter einem Wert zu konsolidieren und eine separate Stichprobe zu erstellen, in der diese Werte vorkommen - auf diese Weise wird gewährleistet, dass wir mit dieser Teilmenge arbeiten können. Ich werde dies tun, während ich nach Blättern suche, aber am Anfang müssen wir schnell mit verschiedenen Methoden quantifizieren.

Dies ist der Algorithmus zur Erstellung des Baums. Sie können es nicht ändern. Es sei denn, Sie schreiben Ihren eigenen Catboost.

 
Maxim Dmitrievsky:

sein sollte, gibt es in den neuen Daten weniger Beispiele derselben Klasse. Hier sollte irgendwie die Verallgemeinerbarkeit besser sein, wir sollten den Tester gleich einschalten

Bei meinen Daten hilft das Resampling nicht.

neue Zeilen werden am Ende hinzugefügt, wenn Sie den ursprünglichen Datensatz subtrahieren bleibt. Diese Methode fügt lediglich Beispiele mit der Methode des nächsten Nachbarn zu einer kleineren Klasse hinzu. D.h. schafft plausible neue Bezeichnungen und Merkmale

Der Rückruf muss also hoch bleiben, sonst hat es keinen Sinn. Das hängt nicht vom Gleichgewicht der Proben ab.

Ich verstehe das Funktionsprinzip, danke.

Gibt es eine Methode mit Clustering "Cluster Centroids" - oder was sonst von hier aus zu versuchen.

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

Dies ist der Algorithmus zur Erstellung des Baums. Sie können es nicht ändern. Es sei denn, Sie schreiben Ihren eigenen Catboost.

Das ist es, was ich meine - man muss seinen eigenen Algorithmus entwickeln.

 
Aleksey Vyazmikin:

Der Rückruf muss also hoch bleiben, sonst hat es keinen Sinn. Das hängt nicht von der Ausgewogenheit der Probe ab.

Ich verstehe das Prinzip, danke.

Es gibt eine Methode mit Clustern "Cluster Centroids" - oder etwas anderes von hier aus zu versuchen.

Dieser entfernt im Gegenteil die Etiketten von einer großen Klasse.

 
Maxim Dmitrievsky:

bei dieser hingegen werden die Zeichen aus der Hauptklasse entfernt

Lassen Sie uns also auf geschickte Art und Weise Nullen entfernen, vielleicht hat das eine Wirkung.

 
Aleksey Vyazmikin:

Löschen Sie auf diese Weise die Nullen auf geschickte Weise, vielleicht hat das eine Wirkung.

im Notizbuch, ersetzen Sie einfach die Methode und das war's.

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

Hier ein Beispiel

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

Ich bevorzuge Near-Miss (anhand von Bildern)

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...
 
Maxim Dmitrievsky:

auf dem Laptop, ersetzen Sie einfach die Methode und das war's

Ich muss es an der falschen Stelle geändert haben, und jetzt kämpft es.

---------------------------------------------------------------------------
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

Bitte prüfen Sie, was falsch ist.