Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spark MLlib - Training collaborative filtering with implicit feedback - strange warnings

I am trying to build Collaborative filtering model on the user orders and getting some useful results with ALS.train() but I would like to try ALS.trianImplicit() but trianImplicit() is predicting just zeros on same dataset which ASL.train() I was getting decent predictions.

When using ALS.trianImplicit() to train the model I was getting following warnings:

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

Does this indicate that it was an error and not warnings and model just could not train anything because of missing libraries?

like image 763
Michal Laclavik Avatar asked Nov 09 '22 05:11

Michal Laclavik


1 Answers

As @eliasah has pointed out this warnings an not-critical, but may slow down performance. Using native BLAS can result in a huge performance improvement. There are some instructions on https://github.com/amplab/ml-matrix/blob/master/EC2.md on how to setup Spark + BLAS on EC2.

If your cluster is running Ubuntu you can install the following packages:

libblas3gf
libblas-doc
libblas-dev

liblapack3gf
liblapack-doc
liblapack-dev

However, some people have reported better performance from using http://www.openblas.net/ so you can try installing that on your workers. You will also need to include com.github.fommil.netlib with your application (Spark currently uses version 1.1.2).

like image 117
Holden Avatar answered Nov 15 '22 11:11

Holden