1

Lassen Sie uns sagen, dass ich einen Datenrahmen dieser Struktur haben:FPgrowth auf einem Dataframe?

time| asset | parameter 
----|-------|---------- 
T1 | A1 | P1 
T1 | A1 | P2 
T1 | A1 | P3 
T1 | A2 | P1 
T1 | A2 | P2 
T1 | A2 | P3 
T2 | A1 | P1 
.... 

Und so weiter

ich die FPGrowth API verwenden möchten (als Teil des spark.mllib) zu diesem Datenrahmen, in dem alle Parameter auf den gleichen entsprechenden Timestamp wird als eine Transaktion betrachtet. Wie gehe ich vor?

Das Beispiel in der documentation spricht einfach von einer Datei gelesen wird, jede Zeile entspricht einer anderen Transaktion.

Ich bin neu in Spark, also Hilfe jeglicher Art ist willkommen! (Spark Version 1.6.2 mit Scala)

Antwort

0

Pivot Ihre Daten, so dass Sie eine Zeile pro Transaktion haben.

Dann führen Sie FPgrowth.

+0

Das ist in Ordnung, wenn Ihr Datenrahmen nicht so groß ist. Mein Datenrahmen kann Millionen von Datenpunkten oder mehr haben. In einer solchen Situation wäre es zeitaufwendig, nicht wahr? – aswa09

+0

Wenn die Daten sortiert sind, ist dies O (n) - nicht zu schlecht. FP-Growth benötigt die Daten in Transaktionen, so dass Sie diese Laufzeitkosten letztendlich bezahlen müssen. –

Verwandte Themen