2016-03-29 9 views
0

Spark mllib ALS(「trainImplicit」)をしばらく試してみてください。 理解したいMLLib spark -ALStrainImplicitの値が1より大きい

1.予測で評価値が1を超えていますか?

2.ユーザーの製品入力を正規化する必要がありますか?

サンプルの結果:

[評価(ユーザー= 316017、製品= 114019、評価= 3.1923)、

評価(ユーザー= 316017、製品= 41930、評価= 2.0146997092620897) ]

文書では、予測された評価値は0-1のどこかにあると言われています。 評価値は依然として推奨事項で使用できることはわかっていますが、その理由を知っていれば素晴らしいと思います。

答えて

1

ALS trainImplicit()のコスト関数は、0/1からの差の大きさをとるため、予測された評価値に条件を課しません。だから、そこにいくつかのマイナスの価値があるかもしれない。それは、予測された値が必ずしも[0,1]の周りにあるということです。

非負因子分解のみを設定するオプションが1つあります。そのため、予測された評価または特徴行列で負の値を決して得ることはできませんが、このケースではパフォーマンスが低下するようです。

関連する問題