共计 1040 个字符,预计需要花费 3 分钟才能阅读完成。
概述
FM (Factorization Machine) 算法可进行回归和二分类预测,它的特点是考虑了特征之间的相互作用,是一种非线性模型,目前 FM 算法是推荐领域被验证的效果较好的推荐方案之一,在诸多电商、广告、直播厂商的推荐领域有广泛应用。
PAI 平台的 FM 算法基于阿里内部大数据的锤炼,具备性能优越、效果突出的特点。具体使用方式可以参见首页模板:
使用 FM 算法整体流程需要包含 FM 训练和 FM 预测组件,可以搭配评估组件使用。
输入数据要求
目前 PAI 的 FM 算法只支持 libsvm 格式的数据,数据需要包含两列,分别是特征列和目标列。
- 目标列:Double 类型
- 特征列:String 类型,特征要以 k:v 格式输入,特征直接以逗号分隔
如图:
组件说明
1.FM 训练
在“参数设置”中可以设置回归或者分类两种模式:
PAI 命令
参数 | 解释 | 取值 |
---|---|---|
tensorColName | 训练的特征列名 (kv 格式的字符串,例如 ”1:1.0,3:1.0″,特征的 id 必须是非负整数,取值范围是 [0,Long.MAX_VALUE),可以不连续) | 必选 |
labelColName | label 列名 (要求是数值类型,如果任务类型是 binary_classification,那么 label 值必须是 0 或 1) | 必选 |
task | 任务类型 | 必选,”regression” or “binary_classification” |
numEpochs | 迭代数 | 可选,默认值 10 |
dim | 因子数,字符串,用逗号分隔的三个整数,表示 0 次项、线性项、二次项的长度 | 可选,默认值 “1,1,10” |
learnRate | 学习率 | 可选,默认值 0.01 |
lambda | 正则化系数,字符串,用逗号分隔的三个浮点数,表示 0 次项、线性项、二次项的正则化系数 | 可选,默认值 “0.01,0.01,0.01” |
initStdev | 参数初始化标准差 | 可选,默认值 0.05 |
备注 1:
- 如遇到训练发散,可适当降低学习率的值
2.FM 预测
PAI 命令
参数 | 解释 | 取值 |
---|---|---|
predResultColName | 预测结果列名 | 可选,默认 ”prediction_result” |
predScoreColName | 预测得分列名 | 可选,默认 ”prediction_score” |
predDetailColName | 详细预测信息列名 | 可选,默认 ”prediction_detail” |
keepColNames | 保持到输出结果表的列 | 可选,默认全选 |
评估结果
在首页模板案例的数据情况下,使用 PAI FM 生成的模型可以达到接近 0.97 的 AUC
本文作者:傲海
阅读原文
本文为云栖社区原创内容,未经允许不得转载。
正文完