Python因子分解库:fastFM

FastFM简介

FastFM的主要特点是将是将因子分解封装成scikit-learn API接口,核心代码使用C编写,性能有一定的保障。fastFM主要提供了回归、分类、排序三种问题的解决方法。其中对于优化器,有als,mcmc,sgd三种,Loss function则对应于所需要解决的问题而不同。

TaskSolverLoss
Regressionals, mcmc, sgdSquare Loss
Classificationals, mcmc, sgdProbit(Map), Probit, Sigmoid
RankingsgdBPR

如何选取不同的优化器?

  • ALS:
    • 优点:预测速度快,相比SGD,所需要的参数更少
    • 缺点:需要手动正则化
  • SGD:
    • 优点:预测速度快,可以在大数据量的基础上迭代
    • 缺点:必须手动指定正则化,超参数,step_size步长需要自己指定
  • MCMC:
    • 优点:需要的超参数很少,一般只需要指定迭代次数、初始化方差、以及rank,自动正则化
    • 缺点:在训练的过程中需要预测测试集

FastFM的使用

1、使用ALS进行回归预测

2、使用MCMC进行回归预测

注意事项:fastfm的特征需要csr格式,如果是panas dataframe 需要先进行转换。

参考链接:

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

机器学习在旅游与酒店个性化的研究

当我们访问Netflix、 YouTube 或Amazon时,我们认为个性化推荐是理所当然的。这些服务已经探索

开源地理位置数据库:tile38

Tile38是地理定位数据存储,空间索引和实时地理围栏。它支持多种对象类型,包括纬度/经度点,边界框,XYZ平

Redis存储经纬度数据并进行地理操作

Redis 从3.2.0版本开始提供了对地理位置的支持,reids 的地理位置坐标使用 sorted set存

发表评论

电子邮件地址不会被公开。 必填项已用*标注