【第十八章:Sentosa_DSML社区版-机器学习之协同过滤】

【第十八章:Sentosa_DSML社区版-机器学习之协同过滤】

1.算子介绍

协同过滤是推荐系统中常用的一种方法。该算法旨在填补用户-产品关联矩阵中缺少的项。在算法中,用户和产品都是通过一组少量的潜在因素描述,这些潜在因素可以用于预测用户-产品关联矩阵中缺少的项。

2.算子类型

机器学习/推荐算子

3.算子属性说明

|---------------------|---------------|----|---------|---------|--------------------|---------------------|
| 属性 | 页面显示名称 | 选项 | 类型 | 默认值 | 约束规则 | 属性说明 |
| top_n | 推荐数量 | 必填 | Int | 10 | 大于0的整数 | 推荐数量 |
| recommend_type | 推荐类型 | 必选 | String | topUser | 单选:topUser,topItem | 推荐类型 |
| cold_start_strategy | 冷启动策略 | 必选 | String | nan | 单选:nan drop | cold_start_strategy |
| nonnegative | 是否使用非负约束 | 必选 | Boolean | 否 | 单选:true false | 是否应用非负性约束 |
| implicit_prefs | 是否使用隐式偏好 | 必选 | Boolean | 否 | 单选:true false | 是否使用隐式偏好 |
| alpha | 隐式偏好的alpha | 必填 | Double | 1.0 | >=0.0 | 隐式偏好的alpha |
| reg_param | 正则化系数 | 必填 | Double | 0.1 | >=0 | 正则化系数 |
| user_col | 用户列名 | 必填 | String | user | 单选:前继节点的所有列名 | 用户id的列名 |
| num_user_blocks | user_blocks数量 | 必填 | Int | 10 | >0 | user_blocks数量 |
| item_col | item列名 | 必填 | String | item | 单选:前继节点的所有列名 | item ids的列名参数 |
| num_item_blocks | item_blocks数量 | 必填 | Int | 10 | >0 | item_blocks数量 |
| rating_col | 评分列名 | 必填 | String | rating | 单选:前继节点的所有列名 | ratings列名参数 |
| rank | 矩阵分解的秩的参数 | 必填 | Int | 10 | >=0 | 矩阵分解的秩的参数 |
| max_iter | 最大迭代次数 | 必填 | Int | 10 | >0 | 最大迭代次数 |

4.算子使用介绍

(1)算子初始化

参考公共功能算子初始化操作

(2)算子属性设置

协同过滤算子的属性设置如图所示

协同过滤算子属性设置

(3)算子的运行

首先通过数据读入算子读取数据,中间可以接任意个数据处理算子(例,行处理,列处理等),然后接一个协同过滤算子,后可接任意个数据处理算子,再接图表分析算子或数据写出算子(不能接评估算子),形成算子流执行。

协同过滤模型算子流

模型的运行结果如图所示

协同过滤模型的运行结果


为了非商业用途的科研学者、研究人员及开发者提供学习、交流及实践机器学习技术,推出了一款轻量化且完全免费的Sentosa_DSML社区版。以轻量化一键安装、平台免费使用、视频教学和社区论坛服务为主要特点,能够与其他数据科学家和机器学习爱好者交流心得,分享经验和解决问题。文章最后附上官网链接,感兴趣工具的可以直接下载使用

Sentosa_DSML社区版官网

Sentosa_DSML算子流开发视频

相关推荐
通信.萌新35 分钟前
OpenCV边沿检测(Python版)
人工智能·python·opencv
ARM+FPGA+AI工业主板定制专家37 分钟前
基于RK3576/RK3588+FPGA+AI深度学习的轨道异物检测技术研究
人工智能·深度学习
赛丽曼40 分钟前
机器学习-分类算法评估标准
人工智能·机器学习·分类
伟贤AI之路43 分钟前
从音频到 PDF:AI 全流程打造完美英文绘本教案
人工智能
weixin_3077791344 分钟前
分析一个深度学习项目并设计算法和用PyTorch实现的方法和步骤
人工智能·pytorch·python
helianying551 小时前
云原生架构下的AI智能编排:ScriptEcho赋能前端开发
前端·人工智能·云原生·架构
池央1 小时前
StyleGAN - 基于样式的生成对抗网络
人工智能·神经网络·生成对抗网络
PaLu-LI2 小时前
ORB-SLAM2源码学习:Initializer.cc⑧: Initializer::CheckRT检验三角化结果
c++·人工智能·opencv·学习·ubuntu·计算机视觉
yuanbenshidiaos2 小时前
【大数据】机器学习----------计算机学习理论
大数据·学习·机器学习
小猪咪piggy2 小时前
【深度学习入门】深度学习知识点总结
人工智能·深度学习