Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 数据帧上的FPG增长?_Scala_Machine Learning_Data Mining_Spark Dataframe_Apache Spark Mllib - Fatal编程技术网

Scala 数据帧上的FPG增长?

Scala 数据帧上的FPG增长?,scala,machine-learning,data-mining,spark-dataframe,apache-spark-mllib,Scala,Machine Learning,Data Mining,Spark Dataframe,Apache Spark Mllib,假设我有一个这种结构的数据帧: time| asset | parameter ----|-------|---------- T1 | A1 | P1 T1 | A1 | P2 T1 | A1 | P3 T1 | A2 | P1 T1 | A2 | P2 T1 | A2 | P3 T2 | A1 | P1 .... 等等 我想在此数据帧上使用FPGrowthAPI(作为spark.mllib的一部分),其中与相同时间戳对应的所有参数

假设我有一个这种结构的数据帧:

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

我想在此数据帧上使用
FPGrowth
API(作为
spark.mllib
的一部分),其中与相同时间戳对应的所有参数都被视为事务。我该怎么办

会谈中给出的示例只是一个正在读取的文件,每一行对应一个不同的事务

我是Spark的新手,所以欢迎任何形式的帮助!
(带Scala的Spark 1.6.2版)

透视数据,以便每个事务有一行


然后运行FPgrowth。

透视数据,以便每个事务有一行


然后运行FPgrowth。

将列名附加到每个行值。您的数据帧将如下所示:

+----------+-------------+-------------+
| time     | asset       | parameter   |
+----------+-------------+-------------+
| time:T1  |  asset:A1   | parameter:P1|  
| time:T1  |  asset:A1   | parameter:P2|  
| time:T1  |  asset:A1   | parameter:P3|
+----------+-------------+-------------+

这使得值唯一

将列名附加到每个行值。您的数据帧将如下所示:

+----------+-------------+-------------+
| time     | asset       | parameter   |
+----------+-------------+-------------+
| time:T1  |  asset:A1   | parameter:P1|  
| time:T1  |  asset:A1   | parameter:P2|  
| time:T1  |  asset:A1   | parameter:P3|
+----------+-------------+-------------+

这使得值唯一

如果您的数据帧不是那么大,这没关系。我的数据帧可以有数百万个或更多的数据点。在这种情况下,数据透视会很耗时,不是吗?如果数据被排序,这是O(n)-不太糟糕。FP Growth需要事务中的数据,因此您最终将不得不支付此运行时成本。如果您的数据帧不是那么大,那没关系。我的数据帧可以有数百万个或更多的数据点。在这种情况下,数据透视会很耗时,不是吗?如果数据被排序,这是O(n)-不太糟糕。FP Growth需要事务中的数据,因此您最终将不得不支付此运行时成本。