机器学习PAI线上序列传入,按照qinfo的方式传入,对序列这种特征,多值该如何分割。或者说config的配置和qinfo 怎么对应起来?
以下为热心网友提供的参考意见
在机器学习PAI中,对于序列这种特征的多值分割,您可以借助于”qinfo”的配置来实现。具体来说,您需要在config文件中指定相应的字段类型和字段格式。比如,如果您的序列特征是由多个值组成的话,那么您可以选择将其设置为”string”类型,并使用特定的分隔符(如逗号、空格等)来区分不同的取值。这种方式可以帮助PAI正确地解析和处理序列数据中的各个元素。
以下为热心网友提供的参考意见
这个目前是分为两步,一个是 fg, 一个是 EasyRec 。fg 的话你只需要看到 fg 的结果满足你的要求就可以。EasyRec 的话你这个应该是只需要关注 EasyRec config 的配置就可以。序列之间的分隔符用 separator (详细处理过程见代码:https://github.com/alibaba/EasyRec/blob/master/easy_rec/python/input/input.py#L667) ,多值的分隔符用 seq_multi_sep (见代码:https://github.com/alibaba/EasyRec/blob/master/easy_rec/python/input/input.py#L668C23-L668C36)我说的都是在 EasyRec 里面针对一个序列特征来说的,你这是列举了三个特征。你现在的问题是序列特征里面有多值,所以只针对一个特征来说,比如 click_30d_seq__gds_id,你这个特征是一个序列特征,然后序列里面还有多值,例如这一个序列特征值为: 1#2#3;4#5#6;7#8#9
其中 ; 就是序列分隔符,用 separator 指定,然后 # 就是 多值分隔符,用 seq_multi_sep 指定。这里我只是举一个例子。就实际 fg 来说,如果你不改默认配置的话,实际输出的序列分隔符应该是 ; (分号),然后多值分隔符和其他的多值一样是一个控制字符 (例子里面我用 # 示例代替)。王路 ,此回答整理自钉群“【EasyRec】推荐算法交流群”
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/13678.html