Ihr Skript läuft bereits seit mehr als einem Tag und hat noch keine einzige Datei auf der Grundlage der Ergebnisse des Screenings erstellt. Ich weiß nicht, vielleicht ist es an der Zeit, es abzuschalten?
Das hängt von der Zhekez und der Stichprobengröße ab. Wenn Ihr Prozessor über mehrere Kerne verfügt, parallelisieren Sie die Ausführung. Unten sehen Sie eine Variante der parallelen Ausführung
##----parallel--------------------------
library("doFuture")
registerDoFuture()
plan(multisession)
require(foreach)
bench::bench_time(
foreach(i = 1:length(cor.test.range))%dopar%{
get.findCor(dt, cor.coef = cor.test.range[i])
}-> res
)
# process real
# 140.62 ms 2.95 m
#
bench::bench_time(
for(i in 1:length(cor.test.range)){
paste0("train1_" , cor.test.range[i]*10 , ".csv") %>%
paste0(patch , .) %>% fwrite(res[[i]], .)
}
)
# process real
# 156 ms 157 ms
Viermal schneller als die serielle Ausführung. Hardware und Software
Tipp: Ist es notwendig, Vektoren mit 100.000 Beobachtungen zu verwenden, um die Korrelation zwischen ihnen zu sehen?
Ich suche nach hoch korrelierten Vektoren, d. h. mit einer Korrelation von mehr als 0,9.
Ich weiß nicht, ob das notwendig ist oder nicht - Sie sollten experimentieren. Die Stichprobe ist nicht stationär - für die Hälfte der Stichprobe gab es keine Korrelation, und dann peng, und dann erschien sie.
Außerdem habe ich alle Koeffizienten in Schritten von 0,1 ausprobiert.
Hängt von Zhekez und Stichprobengröße ab. Wenn der Prozessor mehrere Kerne hat, parallelisieren Sie die Ausführung. Im Folgenden wird eine Variante der parallelen Ausführung vorgestellt
Sie ist 4 Mal schneller als die serielle Ausführung. Hardware und Software
Viel Glück
Die Parallelität erhöht also nicht den RAM-Verbrauch?
Obwohl der Code von mytarmailS RAM-hungriger ist, ist er 50 Mal schneller, vielleicht gibt es einige Einschränkungen der verwendeten Bibliotheken - das Skript hat mehr als 30 Stunden gearbeitet und keine einzige Datei erstellt.
Vielen Dank für die komplizierten Code-Beispiele - in R bin ich eher ein Konsument, ich kann nicht herausfinden, was ich im Hauptskript korrigieren muss.
Was ist mit "Datenrahmen" gemeint - erklären Sie den Unwissenden diese Sprache.
Es war eher eine Nachricht an R-Autoren :) dies sind Tabellen für bequeme Anzeige von Daten und einige typische Manipulationen mit ihnen wie Extrahieren von Teilproben (wie in Sql).
Sie sind nicht dafür gedacht, sie in Schleifen über so große Daten wie Sie sie haben, laufen zu lassen, das wird 20-100 mal langsamer sein als Arrays. Durch den Speicher haben Sie bereits von selbst verstanden.
Ich denke, es ist hier in Ordnung:
# чтобы прочитать как работает функция и примеры ?caret::findCorrelation
# находим колонки которые не коррелированы с порогом корреляции 0,9"cutoff = 0.9"
not_corr_colums <- caret::findCorrelation(as.matrix(df), cutoff = 0.9, exact = F,names = F)
Ich weiß nicht, wie schnell der eingebaute Typ "Matrix" ist, aber er verwendet ein Caret, was auch langsamer sein kann. Der eingebaute Typ hat keine Vektor-Operation zur Berechnung der Korrelation oder so.
warum verlangsamen Sie einen eingebauten Typ, der seine eigene Korr-Berechnung haben sollte, die so schnell wie möglich für ihn ist?
Berücksichtigt die Bibliothek nicht den Typ? Ein Datentyp ist wie Daten für die billigsten Berechnungen. Die gleiche Matrix sollte für Berechnungen entworfen werden.
mytarmailS #: Wie kann man in Zukunft klüger werden, ohne in der Vergangenheit dümmer zu werden? Algorithmisch... ohne Terabytes an Wissen zu schaffen.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ihr Skript läuft bereits seit mehr als einem Tag und hat noch keine einzige Datei auf der Grundlage der Ergebnisse des Screenings erstellt. Ich weiß nicht, vielleicht ist es an der Zeit, es abzuschalten?
Das hängt von der Zhekez und der Stichprobengröße ab. Wenn Ihr Prozessor über mehrere Kerne verfügt, parallelisieren Sie die Ausführung. Unten sehen Sie eine Variante der parallelen Ausführung
Viermal schneller als die serielle Ausführung. Hardware und Software
Viel Glück
es ist alles da. Die Geschwindigkeit wird katastrophal beeinträchtigt sein. Dataframes sind die langsamsten Biester mit großem Overhead.
Es geht nicht um Videokarten, sondern darum, dass man versteht, dass solche Dinge in einem nüchternen Zustand nicht durch Datenframes zählen.
Was ist mit "Datenrahmen" gemeint - erklären Sie es den Unwissenden in dieser Sprache.
Tipp: Ist es notwendig, Vektoren mit 100.000 Beobachtungen zu verwenden, um die Korrelation zwischen ihnen zu sehen?
Ich suche nach hoch korrelierten Vektoren, d. h. mit einer Korrelation von mehr als 0,9.Ich weiß nicht, ob das notwendig ist oder nicht - Sie sollten experimentieren. Die Stichprobe ist nicht stationär - für die Hälfte der Stichprobe gab es keine Korrelation, und dann peng, und dann erschien sie.
Außerdem habe ich alle Koeffizienten in Schritten von 0,1 ausprobiert.
Gern geschehen.
Ist das der Schrei der Seele?
Hängt von Zhekez und Stichprobengröße ab. Wenn der Prozessor mehrere Kerne hat, parallelisieren Sie die Ausführung. Im Folgenden wird eine Variante der parallelen Ausführung vorgestellt
Sie ist 4 Mal schneller als die serielle Ausführung. Hardware und Software
Viel Glück
Die Parallelität erhöht also nicht den RAM-Verbrauch?
Obwohl der Code von mytarmailS RAM-hungriger ist, ist er 50 Mal schneller, vielleicht gibt es einige Einschränkungen der verwendeten Bibliotheken - das Skript hat mehr als 30 Stunden gearbeitet und keine einzige Datei erstellt.
Vielen Dank für die komplizierten Code-Beispiele - in R bin ich eher ein Konsument, ich kann nicht herausfinden, was ich im Hauptskript korrigieren muss.
Meinen Sie, dass es für jeden Datentyp eine Methode zur Berechnung von corr geben sollte?
Matrix ist ein Datentyp, der in R eingebaut ist, es gibt so etwas wie matrix.corr() vector.
Was ist mit "Datenrahmen" gemeint - erklären Sie den Unwissenden diese Sprache.
Es war eher eine Nachricht an R-Autoren :) dies sind Tabellen für bequeme Anzeige von Daten und einige typische Manipulationen mit ihnen wie Extrahieren von Teilproben (wie in Sql).
Sie sind nicht dafür gedacht, sie in Schleifen über so große Daten wie Sie sie haben, laufen zu lassen, das wird 20-100 mal langsamer sein als Arrays. Durch den Speicher haben Sie bereits von selbst verstanden.
Ich denke, es ist hier in Ordnung:
Ich weiß nicht, wie schnell der eingebaute Typ "Matrix" ist, aber er verwendet ein Caret, was auch langsamer sein kann. Der eingebaute Typ hat keine Vektor-Operation zur Berechnung der Korrelation oder so.
Woher kommen diese Gedanken?
warum bremst man einen eingebauten Typ mit dem linken Lappen, der seine eigene Korr-Berechnung haben sollte, so schnell wie möglich aus
warum verlangsamen Sie einen eingebauten Typ, der seine eigene Korr-Berechnung haben sollte, die so schnell wie möglich für ihn ist?
Berücksichtigt die Bibliothek nicht den Typ? Ein Datentyp ist wie Daten für die billigsten Berechnungen. Die gleiche Matrix sollte für Berechnungen entworfen werden.
Wie kann man in Zukunft klüger werden, ohne in der Vergangenheit dümmer zu werden? Algorithmisch... ohne Terabytes an Wissen zu schaffen.
Das tun Sie nicht.