csv 转 ffm[通俗易懂]

csv 转 ffm[通俗易懂]1.FFM介绍FFM最初的概念来自Yu-ChinJuan与其比赛队员,是他们借鉴了来自MichaelJahrer的论文中的field概念提出了FM的升级版模型。通过引入field的概念,FFM把相同性质的特征归于同一个field。FFM模型不同于常见的DataFrame格式文件,需要将数据格式转换成如下所示的格式:yfield_1:index_1:value_1…

大家好,又见面了,我是你们的朋友全栈君。

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[通俗易懂]

部分原始处理代码如下:

csv 转 ffm[通俗易懂]

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146230.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 编码器的工作原理_编码器的应用

    编码器的工作原理_编码器的应用最近公司项目用到了编码器选用的编码器为360脉冲为了方便其一圈发360个脉冲,当然精度只有一度,如果为了高精度可以选用其他类型的首先简述一下编码器的工作原理编码器可按以下方式来分类。1、按码盘的刻孔方式不同分类(1)增量型:就是每转过单位的角度就发出一个脉冲信号(也有发正余弦信号,编码器(图1)然后对其进行细分,斩波出频率更高的脉冲),通常为A相、B相、Z…

  • 秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量

    秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量前面《秒杀多线程第四篇一个经典的多线程同步问题》提出了一个经典的多线程同步互斥问题,这个问题包括了主线程与子线程的同步,子线程间的互斥,是一道非常经典的多线程同步互斥问题范例,后面分别用了四篇《秒杀多线程第五篇经典线程同步关键段CS》《秒杀多线程第六篇经典线程同步事件Event》《秒杀多线程第七篇经典线程同步互斥量Mutex》《秒杀多线程第八篇经典线程同步信号量Semaphore》来详细介绍常用的

  • openEuler安装_Java源代码会被编译成

    openEuler安装_Java源代码会被编译成openEulerLinux源代码编译安装Nginx升级系统和软件yum-yupdate关闭防火墙systemctlstopfirewalldsystemctldisablefirewalld编辑/etc/selinux/config#SELINUX=enforcing修改为SELINUX=disabled#或者执行sed-i’s/SELINUX=enforcing/SELINUX=disabled/g’/etc/selinux/config保

  • PyCharm 2021.10.3 x64 激活码[最新免费获取]

    (PyCharm 2021.10.3 x64 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • Fragment onResume不执行「建议收藏」

    Fragment onResume不执行「建议收藏」本博客解决的主要问题:在多个fragment切换的时候刷新各自的fragment,一般我们会优先想到onResume(),但是有时不起作用。解决办法:我们可以重写setUserVisibleHint()@OverridepublicvoidsetUserVisibleHint(booleanisVisibleToUser){super.setUserVis

  • 非常好的opengl 教程[通俗易懂]

    非常好的opengl教程, stepbystep的从最简单的三角形开始一直复杂的3d场景绘制http://ogldev.atspace.co.uk/index.html

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号