I einen Datensatz (CSV-Datei) haben in R mit den folgenden Variablen: - Datum (m/d/y) - Maschinennummer (zum Beispiel "XTR004") - Failure (binary , 0 oder 1) - Attribut 1 (int) - Attribut 2 (int) - Attribut 3 (int)Predict Ausfall für Zeitreihendaten
ich habe 6 Monate-Daten. Jeden Tag wird ein Protokoll (1 Zeile) erstellt, das das Datum, die Maschinennummer, den Ausfall des Computers oder die drei Attribute anzeigt, die mit dem Fehler in Zusammenhang stehen sollten. Wenn ein Computer ausfällt (Fehler = 1), wird am nächsten Tag kein neues Protokoll (Zeile) erstellt. Mit anderen Worten, das erste Datum hat viele Zeilen, das letzte hat eine kleine Anzahl von Zeilen
Ziel: Ich möchte Fehler (mit Rstudio) mit diesen 3 Attributen voraussagen. Die Modelle, die ich verwenden möchte, sind 1) logistische Regression, 2) Random Forest, 3) neuronale Netze.
Problem: Hat jemand einen Ratschlag, wie die Daten in einen Trainings- und Validierungssatz (80/20 oder Kreuzvalidierung) aufgeteilt werden sollen, gefolgt von den oben genannten Modellen für diesen speziellen Fall? Das Datum und die Maschinennummer zusammen können als "Primärschlüssel" angesehen werden. Daher bin ich nicht sicher ob: - Machen Sie 2 Gruppen von Maschinen mit allen Protokollen, die zu diesen Maschinen gehören - Machen Sie 2 Gruppen, die mit einem bestimmten Datum aufgeteilt sind (Dies bedeutet, dass bestimmte Maschinen, die lange leben, Teil von beiden sind) Gruppen)
Ich denke, die erste Strategie macht mehr Sinn, aber ich habe keinen Weg gefunden, die Daten zu teilen (mit einem 80/20 einmaligen Split oder einer 5- oder 10-fachen Kreuzvalidierung). Ich nehme an, ich müsste die Daten nach ihrer Maschinennummer gruppieren? Hat jemand ein Beispiel, das ich mir ansehen könnte, oder irgendeinen Beispielcode?
Vielen Dank!
Sie müssen eine repräsentative Stichprobe Ihrer Daten bereitstellen, oder falsche Daten, die Ihrer Meinung nach Ihrer Struktur entsprechen, damit wir Ihnen helfen können. Außerdem gibt es viele Online-Beispiele, wie man einen Datensatz in Zug/Test aufteilt. – AntoniosK
@AntoniosK Danke für die Rückmeldung. Ich habe einen Screenshot eines sehr kleinen Beispiels eingefügt. Ich habe eine Menge Ressourcen beim Teilen der Daten gefunden, aber ich habe nichts gefunden, wenn ein Datensatz eine Spalte "date" enthält. Die einzige Ressource, die ich gefunden habe, teilt das Dataset basierend auf einem bestimmten Datum in zwei Teile auf (also ist das Trainingssatz vor diesem Datum und das Validierungsset ist nach diesem Datum). – dhd
Persönlich würde ich die Daten unter Verwendung der Maschinennummerspalten teilen. Auf diese Weise werden meine Trainings- und Testdaten aus allen Daten bestimmter Maschinennamen bestehen. Ich möchte nicht einige Zeilen (Tage) einer bestimmten Maschine als Training und andere als Testdaten haben. Wenn zum Beispiel die Maschine 'XTR004' zufällig in die Trainingsdaten gelangt, dann werden alle ihre Reihen zu den Trainingsdaten gehen. Klingt das vernünftig? Weißt du, wie man es macht? – AntoniosK