大家好,又见面了,我是你们的朋友全栈君。
FFM最初的概念来自Yu-Chin Juan与其比赛队员,是他们借鉴了来自Michael Jahrer的论文中的field概念提出了FM的升级版模型。通过引入field的概念,FFM把相同性质的特征归于同一个field。 FFM 模型不同于常见的DataFrame格式文件,需要将数据格式转换成如下所示的格式:
y field_1:index_1:value_1 field_2:index_2:value_2 … 0 0:0:0.1 1:1:0.5 … 0 0:0:0.2 1:2:0.3 … 1 0:0:0.2 1:2:0.3 …
且满足一下三个要求:
1. 样本归一化:对样本进行归一化,否则容易造成数据溢出,梯度计算失败。
2. 特征归一化:为了消除不同特征取值范围不同造成的问题,需要对特征进行归一化。
3.省略零值特征:零值特征对模型没有任何贡献,省略零值特征,可以提高FFM 模型训练和预测的速度,这也是稀疏样本采用FFM 的显著优势
原始代码详将我的github:https://github.com/tide1994cc/csv2ffm
跪谢大家给的小星星~~~
处理代码如下,可以直接import 使用,使用方法非常简单,导入数据,然后实例化一个ffm对象即可,自动将转换后的数据保存在本地。创建对象时,如要的两个参数是 分类列是那些lie,用list表示,标签列是哪一列。也用list表示。详细使用方式如下:
部分原始处理代码如下:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/146230.html原文链接:https://javaforall.cn
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有