Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
Apache spark 如何使用机器学习算法识别时间序列数据?_Apache Spark_Machine Learning_Pyspark_Apache Spark Ml - Fatal编程技术网

Apache spark 如何使用机器学习算法识别时间序列数据?

Apache spark 如何使用机器学习算法识别时间序列数据?,apache-spark,machine-learning,pyspark,apache-spark-ml,Apache Spark,Machine Learning,Pyspark,Apache Spark Ml,我有不同数量的不同组件的时间序列数据。这些组件最初都有标签,所以我知道它们是什么。然后,当我得到相同的组件,但这次标记不同或根本没有标记时,我需要知道哪个是哪个。假设n个组件之间没有依赖关系,如何知道哪个是哪个 范例 +-------------------+-------+-------+-------+ | ts|label_1|label_2|label_3| +-------------------+-------+-------+-------+ |20

我有不同数量的不同组件的时间序列数据。这些组件最初都有标签,所以我知道它们是什么。然后,当我得到相同的组件,但这次标记不同或根本没有标记时,我需要知道哪个是哪个。假设n个组件之间没有依赖关系,如何知道哪个是哪个

范例

+-------------------+-------+-------+-------+
|                 ts|label_1|label_2|label_3|
+-------------------+-------+-------+-------+
|2020-08-17 00:00:00|   19.4|    4.0|   25.0|
|2020-08-17 00:10:00|    3.4|    3.7|   25.0|
|2020-08-17 00:20:00|   -7.2|    3.2|   25.0|
|2020-08-17 00:30:00|   -5.9|    3.1|   25.0|
|2020-08-17 00:40:00|   -7.1|    3.2|   25.0|
|2020-08-17 00:50:00|   -5.8|    2.7|   25.0|
|2020-08-17 01:00:00|   -5.6|    2.0|   25.0|
|2020-08-17 01:10:00|   -4.6|    1.8|   25.0|
|2020-08-17 01:20:00|   -3.9|    1.1|   25.0|
|2020-08-17 01:30:00|   -5.3|    3.5|   24.0|
|2020-08-17 01:40:00|  107.0|    4.8|   24.0|
|2020-08-17 01:50:00|    0.9|    3.9|   25.0|
|2020-08-17 02:00:00|   34.5|    4.0|   24.0|
|2020-08-17 02:10:00|   22.2|    4.0|   24.0|
|2020-08-17 02:20:00|   71.0|    4.6|   23.0|
|2020-08-17 02:30:00|  134.0|    5.0|   23.0|
|2020-08-17 02:40:00|  109.6|    4.8|   23.0|
|2020-08-17 02:50:00|   -6.8|    3.6|   23.0|
|2020-08-17 03:00:00|   35.2|    4.1|   23.0|
|2020-08-17 03:10:00|  141.1|    5.1|   23.0|
+-------------------+-------+-------+-------+

我想尝试在每个时间序列数据中识别形状,并将这些形状作为特征。还考虑了获取摘要统计数据并制作这些特性

不过,我不知道如何继续进行模型训练和未知组件的标记。 示例代码是我正在寻找的

对于我尝试过的摘要统计:

# df_y1 is the input dataframe
featCol = ['label_1','label_2','label_3']
va = VectorAssembler(inputCols = featCol, outputCol='features')

dfFeat = va.transform(df_y1)
from pyspark.ml.stat import Summarizer


summarizer = Summarizer.metrics("max", "min", "variance", "mean","normL1","normL2")
df_summary = dfFeat.select(summarizer.summary(dfFeat.features).alias('features'))

df_summary.show(truncate=False)
到目前为止,我一直在想下一步该怎么做

因此,我再次询问我需要采取哪些步骤来知道新的时间序列数据流是label_1、label_2还是label_3(给出上述示例)。请再次注意,列的数量可能超过1000

-------------------------------------------------------------------------------+
|labels                                                                                                                                                                                                                                                                 |
+------------------------------------------------------------------------------+
|[[1435.5,7.2,35.0], [-10.2,0.0,18.0], [72827.72853887171,2.634534574364183,12.829884361448627], [111.13393854748607,2.783379888268156,23.42877094972066], [82404.90000000004,1992.9000000000005,16775.0], [7804.803940522785,86.20145010381208,634.1853041501356]]|