Spark MLlib - 使用隐式反馈训练协同过滤 - 奇怪的警告

时间:2015-09-02 16:27:17

标签: apache-spark apache-spark-mllib collaborative-filtering

我正在尝试在用户订单上构建Collaborative filtering模型,并使用ALS.train()获得一些有用的结果,但我想尝试ALS.trianImplicit(),但trianImplicit()预测只是零在同一个数据集ASL.train()我得到了不错的预测。

使用ALS.trianImplicit()训练模型时,我收到了以下警告:

15/09/01 15:39:29 WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeSystemBLAS
15/09/01 15:39:29 WARN BLAS: Failed to load implementation from: com.github.fommil.netlib.NativeRefBLAS

这是否表明它是错误而没有警告和模型因为缺少库而无法训练任何东西?

1 个答案:

答案 0 :(得分:1)

正如@eliasah指出这个警告并不重要,但可能会降低性能。使用原生BLAS可以带来巨大的性能提升。关于如何在EC2上设置Spark + BLAS,https://github.com/amplab/ml-matrix/blob/master/EC2.md上有一些说明。

如果您的群集正在运行Ubuntu,您可以安装以下软件包:

libblas3gf
libblas-doc
libblas-dev

liblapack3gf
liblapack-doc
liblapack-dev

但是,有些人使用http://www.openblas.net/报告了更好的性能,因此您可以尝试在您的工作人员上安装它。您还需要在应用程序中包含com.github.fommil.netlib(Spark目前使用版本1.1.2)。