这个问题会有点模糊,但我似乎无法在网上找到任何具体的例子。
https://spark.apache.org/docs/0.9.0/mllib-guide.html
从上面的spark文档中,我可以看到多种训练方法,并使用Mllib库预测异常/异常值。但是,这些示例中的每一个仅涉及数字或最多2列数据。
我无法弄清楚如何训练和预测具有更多价值等的数据集......
如果我想使用群集方法查找数据的异常值,我们会说,我的数据在数据帧中如下所示:
UserId | Department | Date | Item | Cost
user1 | Electronic | 11-19 | Iphone | 115
user1 | Electronic | 11-19 | Iphone | 150
user1 | Electronic | 11-19 | Iphone | 900
user1 | Electronic | 11-23 | Iphone | 85
user1 | Electronic | 11-20 | Iphone | 120
user2 | Electronic | 11-19 | Iphone | 600
user2 | Electronic | 11-19 | Iphone | 550
user2 | Electronic | 11-19 | Iphone | 600
user2 | Electronic | 11-23 | Iphone | 575
user2 | Electronic | 11-20 | Iphone | 570
....
这几个月会有数百万这样的数据。 我想研究过去X个月的用户模式,并每天使用新数据不断更新我的模型。像
这样的东西user1 | Electronic | 11-19 | Iphone | 900
应被视为异常值
如何在这类数据集上应用上述任何监督学习方法?
谢谢!
答案 0 :(得分:0)
您确定使用的是Spark 0.9(当前版本是2.2)吗?您引用的网站正在显示一个kMeans示例[1]。参数 parsedData 可以有两列以上,但Spark 0.9中的kMeans只能处理双值[2]。
另外,其他例子可以有两列以上[3]。 label参数可以是正在进行的数字,功能是您列出的数据,但是像kMeans spark 0.9只能处理双值。
看看0.9 api的其他可用类,让我假设火花0.9只能处理双值。如果你想处理上面显示的喜欢的数据,你应该考虑使用更新版本的spark。
[1] https://spark.apache.org/docs/0.9.0/mllib-guide.html#clustering-1
[2] https://spark.apache.org/docs/0.9.0/api/mllib/index.html#org.apache.spark.mllib.clustering.KMeans $