1

http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html#explicit-vs-implicit-feedbackでサンプルコードをテストしています。自分のデータをそのまま使用しています。ALS.trainImplicit()のalphaパラメータを1より大きくすることはできますか?

http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4781121

でソース紙によって提案されたとして、私は、1より大きいアルファを置くとき、私は

Py4JError: An error occurred while calling o629.trainImplicitALSModel. Trace: py4j.Py4JException: Method trainImplicitALSModel([class org.apache.spark.api.java.JavaRDD, class java.lang.Integer, class java.lang.Integer, class java.lang.Double, class java.lang.Integer, class java.lang.Integer, class java.lang.Boolean, null]) does not exist

エラーを取得するには、PySpark < 1におけるアルファの限界ですか?

答えて

4

PySparkはScalaのバックエンドによって既に強制されている制限を超えて制限を実施しませんが、型は重要です。

ALS.trainImplicit(ratings, rank, numIterations, alpha=100.0) 

は後者が原因型の不一致に無効であるとの

ALS.trainImplicit(ratings, rank, numIterations, alpha=100) 

と同じではありません:それはことを意味します。言い換えれば型の問題です。 Python floatjava.lang.Double、Python intjava.lang.Integerと表記します。

+0

ありがとうございます。これは働いた – user1340048