Machine learning 如何对偏好进行后期处理?(我正在使用spark)

Machine learning 如何对偏好进行后期处理?(我正在使用spark),machine-learning,apache-spark-ml,Machine Learning,Apache Spark Ml,我熟悉“隐式反馈数据集的协作过滤”一文。 我使用spark ml ALS implicit向用户推荐项目,参数Alpha=30,Rank=10,RegParam=0.1。在我的数据集中,只有使用多个项目的用户(根据此处给出的建议) ) 我使用.recommendForAllUsers并获取首选项p\u ui。然后,我只过滤“新”建议(不在输入数据集中的用户项组合)。我还过滤首选项>0.01以仅获取最优选的项 问题是:如何对偏好进行后处理,使其更接近“概率”? (我的程序需要输出某种“概率”) 将

我熟悉“隐式反馈数据集的协作过滤”一文。 我使用spark ml ALS implicit向用户推荐项目,参数Alpha=30,Rank=10,RegParam=0.1。在我的数据集中,只有使用多个项目的用户(根据此处给出的建议) )

我使用
.recommendForAllUsers
并获取首选项
p\u ui
。然后,我只过滤“新”建议(不在输入数据集中的用户项组合)。我还过滤首选项>0.01以仅获取最优选的项

问题是:如何对偏好进行后处理,使其更接近“概率”? (我的程序需要输出某种“概率”)

将首选项缩放到
[0.5,1.0]
是一个好主意吗?(使用公式:

scaled_preference = ($"preference"*0.5 + max_preference*0.5 -
  min_preference)/(max_preference - min_preference) ) ?