推荐系统Surprise-Basic algorithms之NormalPredictor

这种预测算法是假设评分数据是来自一个正态分布的数据

现有一组用户对电影的评分数据,这是一个稀疏矩阵,其中含有很多空白数据,我们要做的就是对这些数据进行预测.

下面对数据进行建模:
假设所有的预测数据r̂ ui服从一个正太分布(μ̂ ,σ̂ 2) ,屌丝手写

μ̂ σ̂ =1|Rtrain|ruiRtrainrui=ruiRtrain(ruiμ̂ )2|Rtrain| μ ^ = 1 | R t r a i n | ∑ r u i ∈ R t r a i n r u i σ ^ = ∑ r u i ∈ R t r a i n ( r u i − μ ^ ) 2 | R t r a i n |

这里写图片描述
下面我们来实用surprise来直接实现

from surprise import Dataset
from surprise import NormalPredictor, evaluate
from surprise.model_selection import cross_validate
data = Dataset.load_builtin('ml-100k')

# Select the algorithm
algo = NormalPredictor()

# deprecated
# evaluate(algo, data, measures=['RMSE', 'MAE'])

# Test the model
pref = cross_validate(algo, data, verbose=True)

print(pref)

测试结果:

Evaluating RMSE, MAE of algorithm NormalPredictor on 5 split(s).

                  Fold 1  Fold 2  Fold 3  Fold 4  Fold 5  Mean    Std     
RMSE (testset)    1.5054  1.5228  1.5109  1.5185  1.5133  1.5142  0.0060  
MAE (testset)     1.2070  1.2233  1.2137  1.2216  1.2161  1.2163  0.0058  
Fit time          0.08    0.13    0.09    0.10    0.07    0.09    0.02    
Test time         0.16    0.19    0.18    0.18    0.13    0.17    0.02    
{'test_rmse': array([1.50536524, 1.5228481 , 1.51093185, 1.51848558, 1.51326424]), 'test_mae': array([1.20696218, 1.22329666, 1.21374827, 1.22158879, 1.21606117]), 'fit_time': (0.07692193984985352, 0.12638354301452637, 0.09193754196166992, 0.09979796409606934, 0.0673062801361084), 'test_time': (0.1640009880065918, 0.19167232513427734, 0.18456101417541504, 0.1820223331451416, 0.13440251350402832)}
"Multi-Stage Algorithms: A Comprehensive Survey"(2017)是一篇综合调查多阶段算法的文章。该文章由Y. Zhang, Y. Han, L. Liu等人撰写,并提供了对多阶段算法的定义、分类、性质、应用领域和未来研究方向的综述。 文章首先介绍了多阶段算法的基本概念和定义。它解释了多阶段算法是一种将问题分解为多个阶段并分别解决的方法,每个阶段的解决方案都依赖于前一个阶段的结果。 接下来,文章对多阶段算法进行了分类。它将多阶段算法分为序列决策问题、多层次决策问题和分布式决策问题等不同类型,针对每种类型讨论了其特点和应用。 然后,文章回顾了多阶段算法的性质。它详细探讨了多阶段算法的可行性和最优性等性质,并说明了在不同约束条件下多阶段算法的优化目标和限制条件。 文章接着讨论了多阶段算法在各个领域中的应用。它提到了多阶段算法在机器学习、数据挖掘、网络优化和资源分配等领域的应用案例,并强调了多阶段算法在处理复杂问题和大规模数据时的优势。 最后,文章总结了目前多阶段算法研究的主要趋势和未来的研究方向。它提出了一些未解决的问题,如多阶段算法的实时性、稳定性和鲁棒性等,并呼吁进一步研究多阶段算法的性能分析和优化方法。 "Multi-Stage Algorithms: A Comprehensive Survey"这篇文章提供了对多阶段算法的全面调查,涵盖了其定义、分类、性质、应用领域和未来研究方向等方面。它为研究人员和从业者提供了对多阶段算法的深入了解和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值