为了账号安全,请及时绑定邮箱和手机立即绑定

scikit-surprise:python 找不到模块,即使 pip 将其列为已安装

scikit-surprise:python 找不到模块,即使 pip 将其列为已安装

鸿蒙传说 2021-11-16 16:44:24
我正在尝试使用 scikit-surprise 模块来构建推荐系统,但是我在编译时遇到了错误。我收到导入错误:无法导入名称“阅读器”错误我的课如下import pandas as pdfrom surprise import Reader, DatasetuserReviewsFilePath ="UserReviewsFirst5000WithHeadings.csv"ratings = pd.read_csv(userReviewsFilePath) # reading data in pandas dfratings_dict = {'recipeID': list(ratings.recipeID),                'rating': list(ratings.rating),                'userID': list(ratings.userID)}df = pd.DataFrame(ratings_dict)reader = Reader(rating_scale=(1, 5))data = Dataset.load_from_df(df[['recipeID', 'rating', 'userID']], reader)pip show 表示安装了 1.0.6 版
查看完整描述

3 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

我认为您的问题来自安装......我安装了“惊喜”并通过了您的代码并且它起作用了:


import pandas as pd

from surprise import Reader, Dataset

print(Reader) # or just print(surprise) if you import surprise

出去:


<class 'surprise.reader.Reader'>

开始重新安装惊喜并告诉我们。


如果您有多个版本的 python,请执行以下操作:


which pip

看看你是否在使用过的python版本上安装了surprise


查看完整回答
反对 回复 2021-11-16
?
波斯汪

TA贡献1811条经验 获得超4个赞

我认为它在surprise.readerhttps : //surprise.readthedocs.io/en/stable/reader.html

你的代码应该是:

from surprise.reader import Reader
from surprise.dataset import Dataset

编辑:我再次检查了似乎与此矛盾的说明,并将您的原始代码作为正确示例。https://surprise.readthedocs.io/en/stable/getting_started.html#getting-started

那么也许他们添加了自己的快捷方式?无论哪种方式,这似乎都不是正确的解决方案,抱歉。(除非它有效,在这种情况下,他们的说明可能已过时。)

编辑2:他们这样做的别名,所以“从惊喜进口读者”应该确实工作:https://github.com/NicolasHug/Surprise/blob/master/surprise/初始化的.py#L19


查看完整回答
反对 回复 2021-11-16
?
www说

TA贡献1775条经验 获得超8个赞

我认为你需要做

from surprise.reader import Reader


查看完整回答
反对 回复 2021-11-16
  • 3 回答
  • 0 关注
  • 285 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信