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

 
SanSanych Fomenko:

Ich verstehe den Unterschied zwischen Bäumen und Wäldern (oder ich glaube, ich tue es), Wälder sind besser zu verwenden, wenn es mehr Unsicherheit in den Daten gibt, d.h. ein weniger stabiles Muster, da Wälder Entscheidungen durch Abstimmung treffen, was bei zufälligen (unabhängigen aufgrund der Verkürzung) Bäumen der Fall ist, oder liege ich falsch?

Ich weiß es nicht, ich urteile nach den Ergebnissen.

Und die Option "adad" habe ich nicht, sie ist nicht auf dem Screenshot, es gibt "Forest" - das ist es nicht?

Der Reihe nach:


Baum

Das Paket 'rpart' stellt die Funktion'rpart' zur Verfügung.


Boost

# Extreme Boost

# Das Paket "xgboost" implementiert den Extreme-Gradient-Boost-Algorithmus.


SVM

# Support-Vektor-Maschine.

# Das Paket 'kernlab' bietet die Funktion 'ksvm'.


Linear

# Regressionsmodell

# Erstellen Sie ein Regressionsmodell.


Neuronales Netz

# Neuronales Netz

# Erstellen Sie ein neuronales Netzwerkmodell mit dem Paket nnet.

library(nnet, quietly=TRUE)


Übrigens habe ich diese Arbeit für Sie erledigt - Sie können sich das alles in Log selbst ansehen. Wenn Sie eine andere Version von rattle haben, kann die Liste anders aussehen.

Danke für die Abschrift. Ich habe die Version 5.1.0 wahrscheinlich die neueste - alle diese Pakete werden automatisch installiert, wenn sie aufgerufen werden, und zusätzlich gibt es "Forest".

SanSanych Fomenko:

Die Bibliothek ist an meine Bestellung angepasst - ich brauchte einen Tester von MT5. Ich habe nachgerechnet, war aber zu faul, um es nachzuschlagen, und habe es vielleicht bereinigt.

Sehen Sie sich die Artikelvon Vladimir Perervenko an

Wenn Sie an Netzwerken interessiert sind, ist er der neueste in diesem Bereich, R, Berater, der Mann ist auf der Website verfügbar

Danke, ich werde es mir ansehen.

 
SanSanych Fomenko:


Wie schneidet man also eine Datei mit R aus, muss man einen speziellen Algorithmus verwenden? Es ist interessant zu sehen, was am Ende passiert.

Zum Beispiel nach Index: [1:2000,], [2001:4000,]. Es ist wichtig, die natürliche Zeitfolge in der zweiten Datei nicht zu unterbrechen.

Mit anderen Worten: Sie können es in Excel ausschneiden, richtig?

 
Maxim Dmitrievsky:

Probieren Sie es aus, wie Sie wollen :) Die Hauptsache ist, dass Sie nicht vergessen, die Theorie zu lesen, um nicht etwas Dummes zu tun, und es ist nicht schwierig, ein Paket zu verwenden, es gibt viele davon, und sogar online - Sie müssen nichts installieren. Datasens hat Hochkonjunktur, "es" ist überall

Ich habe keine Zeit für die Analyse von Archiven, ich arbeite an meinen eigenen Sachen.

Der Punkt ist, dass verschiedene Varianten unterschiedliche Ergebnisse liefern, und wenn dem so ist, wie kann man dann auf die Qualität der Prädiktoren schließen? Es stellt sich gerade heraus, dass es notwendig ist, die durchschnittliche Version zu nehmen, d.h. wenn überall nicht schlecht ist, dann gut, und dann das Netzwerk/Baum/Wald zu tunen?

Und trotzdem würde ich gerne wissen, wie ich die Logik des Baums auf Expert Advisor übertragen kann...

 
Aleksey Vyazmikin:

Sie können also auch in Excel ausschneiden, richtig?

Excel ist nicht erforderlich. Eine Zeile, das war's.

Lesen Sie Robert I. Kabakov R in Action. Datenanalyse und -visualisierung in der Sprache R. Sie ist im Internet verfügbar.

 
Yuriy Asaulenko:

Excel ist nicht erforderlich. 1 Zeile und das war's.

Lesen - Robert I. Kabakov R in Aktion. Datenanalyse und -visualisierung in der Sprache R. Sie ist im Internet verfügbar.

Sie können nicht alles wissen - ich habe nicht die Absicht, das Programmieren in R zu lernen, ich brauche die Möglichkeit, Prädiktoren zu überprüfen und Regelsätze in MT5 zu konvertieren. Generell gilt: Wenn es nur eine Zeichenkette ist, warum schreiben Sie sie nicht einfach für sich selbst? Bis jetzt bin ich mit den verfügbaren Mitteln ausgekommen.

 
SanSanych Fomenko:


Ihr Rasselbild ist unvollständig. Zumindest sollten Sie auf die nebenstehende Registerkarte "Auswerten" gehen und sich dort die Ergebnisse ansehen.

Das Wichtigste ist jedoch, die Quelldatei in zwei Teile mit unterschiedlichen Namen aufzuteilen (höchstwahrscheinlich müssen Sie dies in R tun).

In der ersten Datei erstellen Sie ALLE sechs Modelle und betrachten deren Schätzungstest, validieren. Dann schreiben Sie den Namen der zweiten Datei in das Feld R Dataset. Und darauf bekommt man wieder Noten. Alle Schätzungen müssen ungefähr gleich sein!

Wenn diese Schätzungen nicht übereinstimmen und die zweite Datei schlechtere Ergebnisse der Modelle zeigt, dann bedeutet dies, dass die Modelle übertrainiert sind und der Grund dafür Rauschprädiktoren sind (die nicht mit der Zielvariablen in Verbindung stehen).


Dies ist der Moment der Wahrheit: Entweder man hat eine Reihe von Prädiktoren, die für eine bestimmte Zielvariable relevant sind, oder man hat sie nicht. Und kein Modell kann diesen unglücklichen Umstand beheben. Dann beginnt die dumme Arbeit, ein Paar "Ziel-Prädiktoren" zu finden, Modelle sind überhaupt nicht interessant, man wird ein Paar finden, dann sind Modelle nur Seeds in R, man wird ein Dutzend davon an einem Tag finden und Ensembles daraus machen.

Ich werde Sie bitten, dies näher zu erläutern.

1. Welchen Parameter muss ich auf der Registerkarte "Auswerten" im Feld "Typ" auswählen?

2. Was muss ich tun, um den Namen einer zweiten Datei eingeben zu können? Mein Fenster ist aktiv, aber ich kann keine Datei auswählen! Und "CSV-Datei" - warum kann ich da wählen?


 
Aleksey Vyazmikin:

Der Punkt ist, dass verschiedene Optionen unterschiedliche Ergebnisse liefern, und wenn dies der Fall ist, wie können wir dann auf die Qualität der Prädiktoren schließen? Geht es einfach darum, die durchschnittliche Variante zu nehmen, d.h. wenn es nicht überall schlecht ist, dann ist es OK, und dann das Netz/Baum/Wald zu optimieren?

Und trotzdem möchte ich wissen, wie ich die Logik des Baums auf den Expert Advisor übertragen kann...

Warum? mt5 hat einen Random Forest, Sie können ihn an Ihre Bedürfnisse anpassen. Achten Sie auf Fehler und geben Sie ihm Testbeispiele, beobachten Sie die Ergebnisse. Das einzige Problem ist, dass es keine Variablen ausgibt

Wenn man aber davon ausgeht, dass die Algorithmen überall gleich sind, kann man in R visualisieren und experimentieren, es dann trainieren und MT verwenden.

 
Aleksey Vyazmikin:

Wie auch immer, wenn es nur eine Zeile ist, warum schreiben Sie sie nicht einfach an Sie? Nun, in der Zwischenzeit bin ich mit den mir zur Verfügung stehenden Mitteln ausgekommen.

Nun, ich habe nicht gefragt, sondern Sie.) Ich brauche es nicht.)

Und wenn Sie mit R arbeiten, müssen Sie das vielleicht auch.

 
Aleksey Vyazmikin:

Ich möchte Sie bitten, dies näher zu erläutern.

1. Welchen Parameter soll ich auf der Registerkarte "Auswerten" in der Gruppe "Typ" auswählen?

2. Was muss ich tun, damit ich den Namen der zweiten Datei eingeben kann? Mein Fenster ist aktiv, aber ich kann keine Datei auswählen! Und "CSV-Datei" - warum kann ich da wählen?


1. beliebig. Es handelt sich um ein anderes Bewertungsmodell und jedes hat eine andere Bedeutung. Rattle ist gerade deshalb so gut, weil es Anfängern ein systematisches Wissen über maschinelles Lernen vermittelt: Vorbereitung der Eingabedaten, Modellierung, Schätzung des Modells. Erst wenn man zumindest auf primitiver Ebene alle DREI Teile beherrscht, ist es sinnvoll, vom Spiel mit den Figuren zu sinnvolleren Dingen überzugehen.

(2) Der R-Datensatz ist eine R-Datei. Das bedeutet, dass auf der Registerkarte Daten die ursprünglichen Daten als RData File geladen wurden - es ist ein Arbeitsbereich im Sinne von R. In diesem Arbeitsbereich wurden zwei Datenrahmen vorbereitet: einer zum Trainieren und Testen des Modells und der andere als dieser R-Datensatz.

Am einfachsten ist es, eine fertige Excel-Datei zu laden, das Protokoll herunterzuladen, zu R zu wechseln und den resultierenden Datenrahmen in zwei Teile zu teilen.

Alternativ dazu.

Öffnen Sie R selbst und laden Sie dort die Excel-Datei herunter - dies ist eine Zeile. Dann wird der Datenrahmen in zwei Teile geteilt.

Sie müssen jedoch die zweite Datei des trainierten Modells verwenden.

 
Maxim Dmitrievsky:

Warum? mt5 hat einen Random Forest, Sie können ihn an Ihre Bedürfnisse anpassen

Oder, da die Algorithmen überall gleich sind, können Sie in R visualisieren und experimentieren, und dann in MT trainieren und verwenden

Das Programm "Deductor Studio" zeigt alles visuell gut an, d.h. den Baum, die Regeln; das sehe ich in R noch nicht, und das wird es in MT5 auch nicht geben (d.h. alles ist machbar, aber ich muss dafür bezahlen...). Es stellt sich also heraus, dass ich die algib-Bibliothek verwenden sollte, um Zufallswälder in MT5 einzubinden, nicht wahr?

Ich habe ein StückC4 .5 Algorithmus-Code http://datascientist.one/algorithm-c4-5/ in R gefunden, ist es sehr schwierig, in MT5 zu implementieren?

C45 <- function(data,x){
   result.tree <- NULL
   if ( IsEmpty(data) ) {
                node.value <- "Failure"
                result.tree <- CreateNode(node.value)
                return(result.tree)
        }
         if( IsEmpty(x) ){
                node.value <- GetMajorityClassValue(data,x)
                result.tree <- CreateNode(node.value)
                return(result.tree)
        }
         if( 1 == GetCount(x) ){
                node.value <- GetClassValue(x)
                result.tree <- CreateNode(node.value)
                return(result.tree)
        } <br>

       gain.ratio <- GetGainRatio(data,x)<br>
     best.split <- GetBestSplit(data,x,gain.ratio)

     data.subsets <- SplitData(data,best.split)
     values <- GetAttributeValues(data.subsets,best.split)
     values.count <- GetCount(values)

     node.value <- best.split
    result.tree <- CreateNode(node.value)
         idx <- 0
    while( idx<=values.count ){
        i       dx <- idx+1
                newdata <- GetAt(data.subsets,idx)
                value <- GetAt(values,idx)
                new.x <- RemoveAttribute(x,best.split)
                new.child <- C45(newdata,new.x)
                AddChildNode(result.tree,new.child,value)
   }

    result.tree
        }
Алгоритм C4.5
Алгоритм C4.5
  • 2016.05.06
  • datascientist.one
Алгоритм C4.5 строит классификатор в форме дерева решений. Чтобы сделать это, ему нужно передать набор уже классифицированных данных. А что такое классификатор? Классификатор – это инструмент, применяемый в data mining, который использует классифицированные данные и на их основании пытается предсказать, к какому классу стоит отнести новые...