【第十八章: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算子流开发视频

相关推荐
scan7242 分钟前
LILAC采样算法
人工智能·算法·机器学习
leaf_leaves_leaf4 分钟前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零19 分钟前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
菌菌的快乐生活22 分钟前
理解支持向量机
算法·机器学习·支持向量机
爱喝热水的呀哈喽25 分钟前
《机器学习》支持向量机
人工智能·决策树·机器学习
大山同学27 分钟前
第三章线性判别函数(二)
线性代数·算法·机器学习
minstbe29 分钟前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机
月眠老师32 分钟前
AI在生活各处的利与弊
人工智能
四口鲸鱼爱吃盐1 小时前
Pytorch | 从零构建MobileNet对CIFAR10进行分类
人工智能·pytorch·分类
苏言の狗1 小时前
Pytorch中关于Tensor的操作
人工智能·pytorch·python·深度学习·机器学习