gpt4 book ai didi

python - 如何处理书籍交叉数据集中的 0 个条目

转载 作者:行者123 更新时间:2023-11-30 09:53:31 26 4
gpt4 key购买 nike

我正在处理书 crossing Data-set ,它有一个文件给了用户X对书Y的评分,但是很多条目包含值0,这意味着用户X喜欢书Y但没有给它评分。我正在使用协作过滤,因此这 0 个条目给我带来了问题,就好像取 0 分一样,它们会降低这本书的整体评分。

我是数据科学领域的新手,有人可以帮助我如何处理这个问题吗?

我能想到的是用用户的平均图书评分替换 0 评分,但我没有任何论据来支持我的想法。

最佳答案

ISBN代码非常困惑,包含大量不正确的ISBN,且不统一。

以下只是一些示例:

"User-ID";"ISBN";"Book-Rating"
"11676";" 9022906116";"7"
"11676";"\"0432534220\"";"6"
"11676";"\"2842053052\"";"7"
"11676";"0 7336 1053 6";"0"
"11676";"0=965044153";"7"
"11676";"0000000000";"9"
"11676";"00000000000";"8"
"146859";"01402.9182(PB";"7"
"158509";"0672=630155(P";"0"
"194500";"(THEWINDMILLP";"0"

所以我建议先清理一下:

df.ISBN = df.ISBN.str.replace(r'[^\w\d]+', '')

然后计算平均评分:

avg_ratings = df.groupby('ISBN')['Book-Rating'].mean().round().astype(np.int8)

最后为这些书设置平均评分,评分为零:

df.loc[df['Book-Rating'] == 0, 'Book-Rating'] = df.loc[df['Book-Rating'] == 0, 'ISBN'].map(avg_ratings)
<小时/>

更新:

从 Pandas 0.20.1 the .ix indexer is deprecated, in favor of the more strict .iloc and .loc indexers 开始。

关于python - 如何处理书籍交叉数据集中的 0 个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40012035/

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