gpt4 book ai didi

python - 训练/测试矩阵图书交叉推荐系统

转载 作者:行者123 更新时间:2023-12-01 02:28:34 27 4
gpt4 key购买 nike

我想为 book crossing 构建训练数据矩阵和测试数据矩阵数据集。但作为 ISBN 代码的图书 ID 可能包含字符。因此,我无法应用此代码(来自 tutorial ):

#Create two user-item matrices, one for training and another for testing
train_data_matrix = np.zeros((n_users, n_items))
for line in train_data.itertuples():
train_data_matrix[line[1]-1, line[2]-1] = line[3]
print (line)

test_data_matrix = np.zeros((n_users, n_items))
for line in test_data.itertuples():
test_data_matrix[line[1]-1, line[2]-1] = line[3]

line[2]-1 将导致类型错误:不支持的操作数类型 -:“str”和“int”。我需要找到另一种方法来构建训练测试矩阵。还有其他方法来构建训练/测试矩阵吗?

迭代train_data时打印行的示例:

Pandas(Index=874192, user_id=20859, ISBN='3442248876X', rating=0, title='Die Krieger der Drachenlanze 06. Die Ritter des Schwerts.', Location='tübingen, baden-württemberg, germany', Age=0.0)

注意:我考虑过创建一个名为 book_id 的新列,该列映射到图书 ISBN 但仅包含整数,以便代码可以正常工作,但我不知道该怎么做。

最佳答案

您应该对 ISBN 列进行编码,因为它包含一个字符串,例如使用此代码段

isbn_list = list(df.ISBN.unique())
df['ISBN'] = df.ISBN.astype('category', categories=isbn_list).cat.codes

之后 numpy 应该可以正常工作

关于python - 训练/测试矩阵图书交叉推荐系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47089802/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com