博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
surprise库官方文档分析(二):使用预测算法
阅读量:5052 次
发布时间:2019-06-12

本文共 1880 字,大约阅读时间需要 6 分钟。

1、使用预测算法

Surprise提供了一堆内置算法。所有算法都派生自基类,其中实现了一些关键方法(例如,和)。可以在包文档中找到可用预测算法的列表和详细信息 。

每个算法都是全局Surprise命名空间的一部分,因此您只需要从Surprise包中导入它们的名称,例如:

from surprise import KNNBasicalgo = KNNBasic()

这些算法中的一些可以使用,一些可以使用。

(1)、基线估计配置

可以使用两种不同的方式估算基线:

  • 使用随机梯度下降(SGD)。
  • 使用交替最小二乘法(ALS)。

可以使用bsl_options 在创建算法时传递的参数来配置基线的计算方式。此参数是一个字典,其中的键'method'指示要使用的方法。可接受的值是'als'(默认)和'sgd'。根据其值,可以设置其他选项。

对于ALS:

  reg_i:item的正则化参数。默认为10.

  reg_u:user的正则化参数。默认为15.

  n_epochs:ALS过程的迭代次数。默认为10.

对于SGD:

  reg:优化的成本函数的正则化参数。默认为0.02.

  learning_rate:SGD的学习率。默认为0.005.

  n_epochs:SGD过程的迭代次数。默认为20.

不论SGD还是ALS,损失量默认为0.

例子:

print('Using ALS')bsl_options = {
'method': 'als', 'n_epochs': 5, 'reg_u': 12, 'reg_i': 5 }algo = BaselineOnly(bsl_options=bsl_options)print('Using SGD')bsl_options = {
'method': 'sgd', 'learning_rate': .00005, }algo = BaselineOnly(bsl_options=bsl_options)#请注意,某些相似性度量可能会使用基线,例如 pearson_baseline相似性。无论基线是否用于实际预测r,配置的工作方式都相同bsl_options = { 'method' : 'als' , 'n_epochs' : 20 , } sim_options = { 'name' : 'pearson_baseline' } algo = KNNBasic (bsl_options = bsl_options , sim_options = sim_options )

(2):相似度配置

许多算法使用相似性度量来估计评级。它们的配置方式与基线评级类似:您只需sim_options在创建算法时传递参数即可。此参数是包含以下(所有可选)键的字典:

  name:要使用的相似性的名称,如模块中所定义 。默认是'MSD'

  user_based:是否在用户之间或项目之间计算相似性。这对预测算法的性能有很大影响。默认是True

  min_support:共同项目的最小数目(当'user_based' 是'True')或普通用户的最小数目(当'user_based'是 'False'用于相似性)不为零

  shrinkage:要应用的收缩参数(仅与相似性相关 )。默认值为100。

用法:

sim_options = {
'name': 'cosine', 'user_based': False # compute similarities between items }algo = KNNBasic(sim_options=sim_options)sim_options = {
'name': 'pearson_baseline', 'shrinkage': 0 # no shrinkage }algo = KNNBasic(sim_options=sim_options)

 

转载于:https://www.cnblogs.com/felixwang2/p/9391117.html

你可能感兴趣的文章
Halcon一日一练:图像拼接技术
查看>>
iOS设计模式 - 中介者
查看>>
centos jdk 下载
查看>>
HDU 1028 Ignatius and the Princess III(母函数)
查看>>
(转)面向对象最核心的机制——动态绑定(多态)
查看>>
token简单的使用流程。
查看>>
django创建项目流程
查看>>
Vue 框架-01- 入门篇 图文教程
查看>>
多变量微积分笔记24——空间线积分
查看>>
poi操作oracle数据库导出excel文件
查看>>
(转)Intent的基本使用方法总结
查看>>
Windows Phone开发(24):启动器与选择器之发送短信
查看>>
JS截取字符串常用方法
查看>>
Google非官方的Text To Speech和Speech Recognition的API
查看>>
stdext - A C++ STL Extensions Libary
查看>>
进程间通信系列 之 socket套接字及其实例
查看>>
天气预报插件
查看>>
Unity 游戏框架搭建 (十三) 无需继承的单例的模板
查看>>
模块与包
查看>>
apache服务器中设置目录不可访问
查看>>