在 Graphlab 中,我正在处理少量的健身数据,以使用可以提供推荐的推荐功能。该数据集具有用户 ID 的列,但没有项目 ID,而是按列排列的不同项目以及与每个用户 ID 对应的行中的各自评级。为了使用任何 graphlab 推荐方法,我需要有用户 ID 和项目 ID。这是我所做的:
v = graphlab.SFrame.read_csv('Data.csv')
userId = v["user_id"]
itemId = v["x","y","z","x1","y1","z1"] //x,y,z,x1,y1,z1 are activities that are actually the columns in Data and contains corresponding ratings given by user
sf= graphlab.SFrame({'UserId':userId,'ItemId':itemId})
print sf.head(5)
基本上,我从 Data 中提取了 user_id col,并尝试使用从相同数据中提取的 x、y、z 等列为 ItemId 创建一个列,以便仅使用这 2 个列制作另一个 sframe。此代码按预期生成具有 2 列的表格格式 sframe,但排列顺序与我在 SFrame 中传递参数的顺序不同。因此,输出将 ItemId 作为第一列,然后是 UserId。即使我尝试更改在 sframe 中传递这 2 个的顺序,它仍然给出相同的输出。有谁知道原因?当使用任何推荐方法时,这会进一步产生问题,因为它会给出错误:列名 user_id 不存在。