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

 

 

 

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 网页提示被阻止怎么办,应用程序已被java安全阻止怎么办

    java 网页提示被阻止怎么办,应用程序已被java安全阻止怎么办我们经常会通过浏览器来浏览各种网页,然而有时候会遇到各种提示,例如就有不少具体步骤如下:1、完成JAVA版本更新,然后刷新有问题的网页页面,以排除JAVA版本问题引起JAVA安全阻止;2、从开始菜单中打开控制面板,我们需要进入控制面板来修改相应的配置;3、进入控制面板后,在控制面板中找到JAVA选项,如果找不到可将查看方式切换到大图标或图标即可;4、在JAVA控制面板中打开安全选项,并找到例外站点…

    2022年7月9日
    20
  • 并查集

    并查集

    2021年9月13日
    48
  • 15个你可能不知道的开源云平台

    15个你可能不知道的开源云平台1.1云服务环境Eucalyptus1.1.1介绍ElasticUtilityComputingArchitectureforLinkingYourProgramsToUsef

    2022年7月2日
    18
  • 微型计算机原理与接口技术网课_微型计算机原理与接口技术周荷琴

    微型计算机原理与接口技术网课_微型计算机原理与接口技术周荷琴微型计算机组成原理课程内容介绍第一章微型计算机基础第二章80X80微型处理器第三章汇编语言指令集第四章汇编语言程序设计第五章输入/输出系统第六章中断系统第七章微型计算机系统串行通讯第八章并行I/O接口第九章可编程定时/计数器课程意义汇编语言接口技术学习目标本笔记的视频,源自中国大学MOOC,南京邮电大学的微型计算机原理与接口技术。课程内容介绍第一章微型计算机基础这一章将…

    2022年10月2日
    2
  • 数组初始化的4种方式「建议收藏」

    数组初始化的4种方式「建议收藏」1.直接给每个元素赋值intarray[4]={1,2,3,4};2.给一部分赋值,后面的全部为0intarray[4]={1,2};3.由赋值参数个数决定数组的个数intarray[]={1,2};4.数组元素的值是随机分配的intarray[4]={};当初始化参数时,推荐使用intarray[4]={0};voidPrint(i…

    2022年7月18日
    21
  • springboot 解决跨域问题_java解决跨域问题

    springboot 解决跨域问题_java解决跨域问题SpringBoot版本的不同,CrossOrigin失效了,正确配置如下: @CrossOrigin(originPatterns=”*”,allowCredentials=”true”,maxAge=3600)

    2022年9月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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