recommenders-team/recommenders

[ASK] the encode of the feature in field

Open

#1,114 建立於 2020年6月1日

在 GitHub 查看
 (2 留言) (0 反應) (0 負責人)Python (2,972 fork)batch import
help wanted

倉庫指標

Star
 (17,706 star)
PR 合併指標
 (平均合併 6天 16小時) (30 天內合併 10 個 PR)

描述

hi,dear

Description

I'm a little confused that the Class for encoding the feature in the field, I see the example,

df_feature_original = pd.DataFrame({
    'rating': [1, 0, 0, 1, 1],
    'field1': ['xxx1', 'xxx2', 'xxx4', 'xxx4', 'xxx4'],
    'field2': [3, 4, 5, 6, 7],
    'field3': [1.0, 2.0, 3.0, 4.0, 5.0],
    'field4': ['1', '2', '3', '4', '5']
})
converter = LibffmConverter().fit(df_feature_original, col_rating='rating')
df_out = converter.transform(df_feature_original)
df_out

 | rating | field1 | field2 | field3 | field4

0 | 1 | 1:1:1 | 2:4:3 | 3:5:1.0 | 4:6:1
1 | 0 | 1:2:1 | 2:4:4 | 3:5:2.0 | 4:7:1
2 | 0 | 1:3:1 | 2:4:5 | 3:5:3.0 | 4:8:1
3 | 1 | 1:3:1 | 2:4:6 | 3:5:4.0 | 4:9:1
4 | 1 | 1:3:1 | 2:4:7 | 3:5:5.0 | 4:10:1

I found the number of the feature is increasing in a field,then encode the features in another field , but that's not same with the FFM author down

Click  Advertiser  Publisher
=====  ==========  =========
    0        Nike        CNN
    1        ESPN        BBC
Then, you can generate FFM format data:
    0 0:0:1 1:1:1
    1 0:2:1 1:3:1

he encodes the features in a example and then another example , so the method in the rp is different, does the difference affect the results ??

Other Comments

maybe my poor English could not be understood,Now is the Chinese Time down 这里的rp编码规则: 先对一个field内的 feature进行编码,然后再对另一个field内的feature进行编码 而libffm的编码: 对一条数据的所有fields内的features进行编码,然后下一条数据, 这两种feature编码规则会影响最终的结果吗?

多谢大佬

waiting for your kind reply ! thx

貢獻者指南