项目四网站建设内容wordpress 手机顶部悬浮
【第十八章: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算子流开发视频
