我正在尝试为隐式反馈排名模型建立基本的BPR和WARP基线,而我目前在功能设计上有些停留,并对LightFM如何处理功能矩阵有一些疑问。
说我想建立一个用户特征矩阵,而我的字段看起来像这样,
{
"id": "818499",
"username": "nvok",
"name": "nvok",
"join_date": "2016-08-12",
"followers": "696",
"following": "65",
"ideas": "1863",
"like_count": "23",
"subscribers_count": "132",
"subscribed_to_count": "1",
"location": "United States",
"trading_strategy": "{'assets_frequently_traded': [], 'approach': 'Growth', 'holding_period': 'Position Trader', 'experience': None}"
}
如果我要构建用户特征矩阵,而用户的个人资料有点不完整;例如,如果 location 字段保留为空,那么LightFM会为该特定用户跳过此功能,还是我必须将该特定功能排除在外?所有字段都必须完整吗?定位似乎是培训中要包括的有用功能。
我的商品功能采用推文的形式以及有关该推文的各种信息;时间戳,赞等。在使用井号的情况下,有一个“符号”字段,看起来像:
"symbols": "[{
'id': 11571,
'symbol': 'FEYE',
'title': 'FireEye Inc',
'is_following': False,
'exchange': 'NASDAQ',
'sector': None,
'industry': None,
'trending': False,
'trending_score': -1.40734,
'watchlist_count': 13750
}]"
LightFM是否有效地使用列表中包含的信息,还是我必须将其分为单独的功能,也许#标签本身是关键,而当前的值是1?