csv 转 ffm

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表示。详细使用方式如下:

csv 转 ffm_第1张图片

部分原始处理代码如下:

csv 转 ffm_第2张图片

 

 

 

 

你可能感兴趣的:(Python,数据分析)