If the target type is not binary, then every object with target value and weight is replaced with two objects for the metric calculation: Target values must be in the range [0; 1]. If the target type is not binary...
Ich habe die Beschriftungen, die nach der Richtungsänderung im Datensatz stehen, fallen gelassen, bevor ich sie in das Mischungsmodell eingegeben habe.
aus der Beobachtung, mehr Modelle haben ein positives Ergebnis.
Ergebnisse des besten Tests im Testgerät und im Terminal:
Im Allgemeinen, schöne Arbeit. Mit seiner Hilfe habe ich alle meine Ziel überprüft und warf sie in den Papierkorb)))
ja, man kann sie vor dem Clustering fallen lassen
danke für das Feedback :)
Z.Ы so können Sie alle Modelle auf einmal testen, gemittelt. Spielen. Parser für alle Modelle hat noch nicht gemacht, noch im Zweifel. Aber manchmal ein Ensemble von mehreren Modellen wirklich verbessert.
def test_models(result):
pr_tst = get_prices(FULL_DATE, STOP_DATE)
X = pr_tst[pr_tst.columns[1:]]
X.columns = [''] * len(X.columns)
#test the learned model
p = 0for i in range(len(result)):
p += result[i][2].predict_proba(X)
p = p/len(result)
p2 = [x[0]<0.5for x in p]
pr2 = pr_tst.iloc[:len(p2)].copy()
pr2['labels'] = p2
R2 = tester(pr2, MARKUP, plot=True)
test_models(res)
ZYZY. Sie können eine Aufzählung von verschiedenen Kombinationen von trainierten Modellen durch die gleiche Metrik R2, als eine Entwicklung des Themas zu machen. Dann behält man das beste Ensemble. Es ist sogar möglich durch Genetik, wenn es viele Modelle gibt.
Ich habe EURUSD, H1 Daten von 2015 bis 2020 genommen und sie in drei Sets aufgeteilt:
1. Training Set: von 2015.01.01 bis 2018.01.01
Dieses Set wird nur für das Training von GMM verwendet.
2. Validierungsset: von 2018.01.01 bis 2019.01.01
Dieser Satz wird zusammen mit dem Trainingssatz in der Brute-Force-Funktion verwendet, um das beste Modell zu finden.
3. Testsatz: von 2019.01.01 bis 2020.01.01
Dieser Satz wird nur verwendet, um das beste Modell zu testen, das mit dem Brute-Force-Algorithmus ermittelt wurde.
Nachfolgend sehen Sie das Ergebnis eines Backtests für den gesamten Datensatz,
Ich habe meinen Code doppelt überprüft, aber vielleicht habe ich etwas falsch gemacht. Wie auch immer, vielleicht haben Sie ja eine Vorstellung von den Ergebnissen. Mit freundlichen Grüßen, Rasoul
Ich nahm EURUSD, H1 Daten von 2015 bis 2020 und habe es in drei Sätze aufgeteilt:
1. Training Set: von 2015.01.01 bis 2018.01.01
Diese Daten werden nur für das Training von GMM verwendet.
2. Validierungssatz: von 2018.01.01 bis 2019.01.01
Dieser Satz wird zusammen mit dem Trainingssatz in der Brute-Force-Funktion verwendet, um das beste Modell zu finden.
3. Testreihe: von 2019.01.01 bis 2020.01.01
Dieser Satz wird nur verwendet, um das beste Modell zu testen, das mit dem Brute-Force-Algorithmus ermittelt wurde.
Nachfolgend sehen Sie das Ergebnis eines Backtests für den gesamten Datensatz,
Ich habe meinen Code doppelt überprüft, aber vielleicht habe ich etwas falsch gemacht. Wie auch immer, vielleicht haben Sie eine Vorstellung von den Ergebnissen. Mit freundlichen Grüßen, Rasoul
Hallo, Rasoul. Versuchen Sie, die Größe der Trainingsmenge zu reduzieren. Das kann von verschiedenen Einstellungen abhängen, aber der wichtigste Trick ist, dass eine geringere Trainingsmenge zu einer besseren Generalisierung auf neuen Daten führt. Im nächsten Artikel werde ich versuchen, diesen Effekt zu erklären.
Maxim Dmitrievsky: Hallo, Rasoul. Versuchen Sie, die Größe der Trainingsmenge zu reduzieren. Das kann von verschiedenen Einstellungen abhängen, aber der wichtigste Trick ist, dass eine geringere Trainingsmenge zu einer besseren Generalisierung auf neuen Daten führt. Im nächsten Artikel werde ich versuchen, diesen Effekt zu erklären.
Das ist sehr gut. Es wäre schön, wenn in dem Artikel eine Bemerkung über den Anwendungsbereich dieser These zu finden wäre - insbesondere für verschiedene IO-Methoden. Aus irgendeinem Grund empfehlen sie 70/30 für NS. Und logischerweise, IMHO, sollte 50/50 zu stabileren Ergebnissen führen.
Das ist gut. Es wäre schön, wenn in dem Artikel ein Hinweis auf die Anwendbarkeit dieser These - insbesondere auf verschiedene Methoden der MO - zu finden wäre. Aus irgendeinem Grund wird für NS 70/30 empfohlen. Und logischerweise, IMHO, sollte 50/50 zu stabileren Ergebnissen führen.
Es gibt aktives und passives Lernen. Passives Lernen besteht in der manuellen Aufbereitung von Daten und dem Training an ihnen. In diesem Fall sollten viele Daten vorhanden sein, aber es gibt ein Problem mit der korrekten Aufbereitung. Das heißt, der "Lehrer" muss die Daten so aufbereiten, dass sie konventionell aus der gleichen Verteilung stammen und gut verallgemeinert werden können. In dieser Hinsicht macht es fast keinen Unterschied, welchen Anteil der Auszubildende testet. Es bringt Ihnen fast nichts, es ist nur eine Modellprüfung, eine Prüfung, wie gut Sie die Daten manuell beschriftet haben.
Beim aktiven Lernen lernt das Modell, die Daten auf optimale Weise zu beschriften. Der Artikel ist ein solcher Fall von Partitionierung durch GMM. Das heißt, es wird sowohl das Lernen mit als auch ohne Lehrer verwendet. In diesem Fall lernt das Modell, aus kleinen partitionierten Daten zu lernen, und muss die restlichen Daten selbst optimal partitionieren. Dies ist ein relativ neuer Ansatz (etwa aus dem Jahr 2017). Und ich möchte ihn in einem Folgeartikel genauer betrachten.
zu viele "Daten" in den Sätzen, ich entschuldige mich für die Tautologie )
Welche?
F1, MCC scheint besser zu sein.
Hier ist die vollständige Liste
https://catboost.ai/docs/concepts/loss-functions-classification.html
F1, MCC scheint besser zu sein
Hier ist die vollständige Liste
https://catboost.ai/docs/concepts/loss-functions-classification.html
Noch einmal.
Nun, ja, manchmal macht es Sinn.
Ein bisschen mehr Stacking. Ja, es macht Sinn, zu stapeln. Es ist immer noch eine offene Frage, wie viel.
Toller Artikel und gigantische Arbeit!
Ich habe die Etiketten, die nach der Richtungsänderung im Datensatz stehen, fallen gelassen, bevor ich sie in das Mischungsmodell eingespeist habe.
Die Beobachtung zeigt, dass mehr Modelle positive Ergebnisse liefern.
Ergebnisse des besten Tests in Tester und Terminal:
Im Allgemeinen eine schöne Arbeit. Ich habe es verwendet, um alle meine Ziele zu testen und warf sie in den Papierkorb)))
Toller Artikel und eine Herkulesaufgabe!
Ich habe die Beschriftungen, die nach der Richtungsänderung im Datensatz stehen, fallen gelassen, bevor ich sie in das Mischungsmodell eingegeben habe.
aus der Beobachtung, mehr Modelle haben ein positives Ergebnis.
Ergebnisse des besten Tests im Testgerät und im Terminal:
Im Allgemeinen, schöne Arbeit. Mit seiner Hilfe habe ich alle meine Ziel überprüft und warf sie in den Papierkorb)))
ja, man kann sie vor dem Clustering fallen lassen
danke für das Feedback :)
Z.Ы so können Sie alle Modelle auf einmal testen, gemittelt. Spielen. Parser für alle Modelle hat noch nicht gemacht, noch im Zweifel. Aber manchmal ein Ensemble von mehreren Modellen wirklich verbessert.
ZYZY. Sie können eine Aufzählung von verschiedenen Kombinationen von trainierten Modellen durch die gleiche Metrik R2, als eine Entwicklung des Themas zu machen. Dann behält man das beste Ensemble. Es ist sogar möglich durch Genetik, wenn es viele Modelle gibt.Ich habe EURUSD, H1 Daten von 2015 bis 2020 genommen und sie in drei Sets aufgeteilt:
Ich habe meinen Code doppelt überprüft, aber vielleicht habe ich etwas falsch gemacht. Wie auch immer, vielleicht haben Sie ja eine Vorstellung von den Ergebnissen. Mit freundlichen Grüßen, Rasoul
Ich nahm EURUSD, H1 Daten von 2015 bis 2020 und habe es in drei Sätze aufgeteilt:
Ich habe meinen Code doppelt überprüft, aber vielleicht habe ich etwas falsch gemacht. Wie auch immer, vielleicht haben Sie eine Vorstellung von den Ergebnissen. Mit freundlichen Grüßen, Rasoul
Können Sie mir sagen, wie ich meine Daten als csv-Datei hochladen kann?
Ich habe es auf diese Weise versucht, aber sie wurde nicht geladen.
Das Format der Datei ist:
Zeit,Schluss
2020,11,15,1.3587
2020,11,16,1.3472
Können Sie mir sagen, wie ich meine Daten über eine csv-Datei hochladen kann?
pr = pd.read_csv('pr.csv', sep=';')Das heißt, dies ist ein Beispiel für das Laden von Daten aus dem Terminal und das Speichern in einer Datei. Und dann kann man sie in colab verwenden
Hallo, Rasoul. Versuchen Sie, die Größe der Trainingsmenge zu reduzieren. Das kann von verschiedenen Einstellungen abhängen, aber der wichtigste Trick ist, dass eine geringere Trainingsmenge zu einer besseren Generalisierung auf neuen Daten führt. Im nächsten Artikel werde ich versuchen, diesen Effekt zu erklären.
Das ist sehr gut. Es wäre schön, wenn in dem Artikel eine Bemerkung über den Anwendungsbereich dieser These zu finden wäre - insbesondere für verschiedene IO-Methoden. Aus irgendeinem Grund empfehlen sie 70/30 für NS. Und logischerweise, IMHO, sollte 50/50 zu stabileren Ergebnissen führen.
Das ist gut. Es wäre schön, wenn in dem Artikel ein Hinweis auf die Anwendbarkeit dieser These - insbesondere auf verschiedene Methoden der MO - zu finden wäre. Aus irgendeinem Grund wird für NS 70/30 empfohlen. Und logischerweise, IMHO, sollte 50/50 zu stabileren Ergebnissen führen.
Es gibt aktives und passives Lernen. Passives Lernen besteht in der manuellen Aufbereitung von Daten und dem Training an ihnen. In diesem Fall sollten viele Daten vorhanden sein, aber es gibt ein Problem mit der korrekten Aufbereitung. Das heißt, der "Lehrer" muss die Daten so aufbereiten, dass sie konventionell aus der gleichen Verteilung stammen und gut verallgemeinert werden können. In dieser Hinsicht macht es fast keinen Unterschied, welchen Anteil der Auszubildende testet. Es bringt Ihnen fast nichts, es ist nur eine Modellprüfung, eine Prüfung, wie gut Sie die Daten manuell beschriftet haben.
Beim aktiven Lernen lernt das Modell, die Daten auf optimale Weise zu beschriften. Der Artikel ist ein solcher Fall von Partitionierung durch GMM. Das heißt, es wird sowohl das Lernen mit als auch ohne Lehrer verwendet. In diesem Fall lernt das Modell, aus kleinen partitionierten Daten zu lernen, und muss die restlichen Daten selbst optimal partitionieren. Dies ist ein relativ neuer Ansatz (etwa aus dem Jahr 2017). Und ich möchte ihn in einem Folgeartikel genauer betrachten.
zu viele "Daten" in den Sätzen, ich entschuldige mich für die Tautologie )