Thanks for the fantastic implementation. It’s really helpful. I was going through the code and trying to understand it. Could you possibly tell me the relevance of this line:

norm_diff = scipy.linalg.norm(user_vectors_old – self.user_vectors) + scipy.linalg.norm(item_vectors_old – self.item_vectors)

Is the difference between the old calculated vectors and the new calculated vectors reducing supposed to show a reducing trend?

]]>Thanks for the great article and fantastic local implementation in Python.

I am working on a school project and would love to use SparkML, more specifically als.trainImplicit, however my data is just {user_id, item_id} purchasing data.

I have not been able to successfully get started with the project. Would you have any insight into how to create an RDD from my data?

I would really appreciate any help.

Thanks,

Alek

Thanks a lot for your solution.

In fact, I think that we just need register Rating and BitSet:

kryo.register(classOf[Rating])

kryo.register(classOf[mutable.BitSet])

However, the spark guys have already revert the default setting of pyspark. Therefore, there will be no such bug in next version of spark.

Cheers

]]>