Giter VIP home page Giter VIP logo

Comments (17)

nzc avatar nzc commented on August 14, 2024

已经push了

from dnn_ctr.

simpleDgq avatar simpleDgq commented on August 14, 2024

image
data文件夹下面没有。

from dnn_ctr.

nzc avatar nzc commented on August 14, 2024

可以了

from dnn_ctr.

simpleDgq avatar simpleDgq commented on August 14, 2024

非常感谢,跑起来了。
image

from dnn_ctr.

simpleDgq avatar simpleDgq commented on August 14, 2024

你好,tiny_train_input.csv不是criteo数据集吧?我想使用criteo数据集跑DeepFM,对于criteo应该怎么处理成如下格式啊:
image
谢谢。

from dnn_ctr.

nzc avatar nzc commented on August 14, 2024

tiny_train_input.csv 是criteo数据集的一个sample,我主要是利用了criteo 冠军队伍的特征工程方法生成的,但是没有包含他们的gbdt的叶子节点特征。所以只有39维。 利用他们的脚本生成libsvm格式的样本,再调用我的数据处理脚本里面的函数就可以了。当然 你可以有其他的特征工程方法,只要对应的数据的格式如我给的那样的格式就可以了

from dnn_ctr.

simpleDgq avatar simpleDgq commented on August 14, 2024

你好,我使用你说的criteo 冠军队伍的脚本生成了tr.ffm和te.ffm文件,在生成category_emb.csv的时候,我使用的是如下图所示的方法,对于tr.ffm和te.ffm分别生成了对应的category_emb文件,然后分别使用对应的category_emb文件生成训练集和测试集。
image
为什么你上传的category_emb.csv只有一个,而不是训练集和测试集分别对应一个category_emb啊?是不是我哪里弄错了?

from dnn_ctr.

nzc avatar nzc commented on August 14, 2024

你可以尝试将训练集和测试集合并生成一个category_emb.csv 其实训练集和测试集的编码应该是要求一致的。如果不一致,那特征都是错误的。。。结果怎么会好?。。。

from dnn_ctr.

simpleDgq avatar simpleDgq commented on August 14, 2024

非常感谢你的解答,我尝试将tr.ffm和te.ffm合并成为了一个文件(使用的是cat tr.ffm te.ffm > data.ffm),然后使用data.ffm生成了category_emb.csv。现在成功跑起来了。接下来认真研究一下你的代码,还有许多地方不是很懂。
再次感谢。

from dnn_ctr.

Eaphan avatar Eaphan commented on August 14, 2024

你好,在冠军的解决方案中他将数值类型的变量也进行了hash,然后处理方式和类别相同,也进行embedding,请问这样做的意义是啥?我觉得这样丢失了本来的相对大小信息。 @nzc @CarlosDGQ

from dnn_ctr.

simpleDgq avatar simpleDgq commented on August 14, 2024

说一下我的看法,数据集中有13个数值类型的特征(都为int类型),26个categorical特征。在连续特征和categorical特征之间我觉得是不存在相对大小信息的,因为categorical可能是ip、userId等hash之后生成的,(ip类似的信息和连续值特征没有相对大小信息吧)但是具体数据集描述文件也没有给出,我们并不知道每个字段的意义。对于数值类型的特征相对大小在hash之后,在求出其整数表示,相对大小的信息应该没有发生丢失。代码中对大于2的连续特征进行了取对数,对于小于2的特征和大于2的特征可能会存在一定的相对大小信息的丢失,但是也比较小。欢迎讨论。

from dnn_ctr.

Eaphan avatar Eaphan commented on August 14, 2024

@CarlosDGQ
我的意思就是这个特征本身的相对大小,特征之间当然比较大小没意义。但是那13个数值类型的变量大部分是count意义,通过hash变换的是带‘SP'和数值的字符串,这样转换value = 'SP'+str(value),hash没有保证原来的相对大小。另外加个好友吧,共同学习:)我qq是18324分割0719.

from dnn_ctr.

nzc avatar nzc commented on August 14, 2024

在CTR预估场景中,一般连续值特征最后也是需要离散化的。连续值特征的处理方式要根据分布会有不同的处理方法。感觉冠军队伍是分析过的,所以才采用了那样的特征处理方法。至于信息损失,其实个人感觉还好。连续值特征的信息损失一般来源于分桶的时候,因为冠军队伍后面用了gbdt,所以两者结合的话,感觉信息损失不会太大。

from dnn_ctr.

TaylorWPY avatar TaylorWPY commented on August 14, 2024

@CarlosDGQ 你好,我想问你一下tr.ffm和te.ffm文件是怎么生成的

from dnn_ctr.

simpleDgq avatar simpleDgq commented on August 14, 2024

@TaylorWPY 你好,我是直接使用https://github.com/guestwalk/kaggle-2014-criteo脚本生成的。按照作者GitHub上的步骤生成就可以了。
image

from dnn_ctr.

aa147138 avatar aa147138 commented on August 14, 2024

@CarlosDGQ @TaylorWPY 您好,我用了https://github.com/guestwalk/kaggle-2014-criteo脚本生成的tr.ffm文件的时候执行到cmd = 'python converters/parallelizer-a.py -s {nr_thread} python converters/pre-a.py tr.csv tr.gbdt.dense tr.gbdt.sparse'.format(nr_thread=NR_THREAD)
subprocess.call(cmd, shell=True)这一句的时候 ,为什么会出现parallelizer-a.py: error: unrecognized arguments: tr.gbdt.sparse 这种错误呢,是不是少了什么步骤?

from dnn_ctr.

wangdazi avatar wangdazi commented on August 14, 2024

你好,我想请教一下deepfm的输入可以是评论文本表示的user,item特征吗?

from dnn_ctr.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.