使用以下命令时出现错误
trainset, testset = train_test_split(t2data, test_size=.15,train_size=0.85)
数据集包含用户评分,用户ID和产品ID。
错误消息:
AttributeError: 'DataFrame' object has no attribute 'raw_ratings'
我的数据框没有名称为raw_ratings的属性。
这就是我读取CSV的方式:
rdata = pd.read_csv('ratings_Electronics.csv', header=0, names ['userid','productid','rating','timestamp'],skipinitialspace=True)
所以我无法理解此错误的发生情况。任何帮助,将不胜感激。谢谢
详细错误:
AttributeError跟踪(最近一次呼叫最近) 在()中 ----> 1个训练集,测试集= train_test_split(t2data,test_size = .15,train_size = 0.85)
2幅 / strong / getattr 中的/usr/local/lib/python3.6/dist-packages/pandas/core/generic.py(自身,名称) 5134如果self._info_axis._can_hold_identifiers_and_holds_name(名称): 5135返回自身[名称] -> 5136返回对象。 getattribute ((自身,名称) 5137 5138 def setattr (自身,名称:str,值)->无:
AttributeError:“ DataFrame”对象没有属性“ raw_ratings”
答案 0 :(得分:1)
您可能使用了错误的数据类型。很可能您使用的是 panada 数据框,而预期的数据集是意外的。
我发现这个例子很有帮助https://github.com/NicolasHug/Surprise/issues/20
来自 NicholasHug。
解决方案对我有用。
答案 1 :(得分:0)
您正在读取rdata
变量中的CSV并拆分t2data
。