大家好,又见面了,我是你们的朋友全栈君。
1. FFM介绍
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 的显著优势
2. code
原始代码详将我的github:https://github.com/tide1994cc/csv2ffm
跪谢大家给的小星星~~~
处理代码如下,可以直接import 使用,使用方法非常简单,导入数据,然后实例化一个ffm对象即可,自动将转换后的数据保存在本地。创建对象时,如要的两个参数是 分类列是那些lie,用list表示,标签列是哪一列。也用list表示。详细使用方式如下:
部分原始处理代码如下:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146230.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...