python 做推荐算法,遇到MemoryError错误,求破
[code=python]
def ItemSim(self,train = None):
train = train or self.traindata()
Item_count = dict() #浏览过每种物品的人数#
ItemSimcount = dict() #既浏览过i,又浏览过j的某人的时间加权#
for users,items in train.items():
for i,tui in items.items():
Item_count.setdefault(i,0)
Item_count[i] += 1
for j,tuj in items.items():
if i == j:
continue
ItemSimcount.setdefault(users,{})
ItemSimcount[users].setdefault(i,{})
ItemSimcount[users][i].setdefault(j,0)
ItemSimcount[users][i][j] += 1
self.ItemSimlist = dict()
for user,rec in ItemSimcount.items():
self.ItemSimlist.setdefault(user,{})
for i ,related_items in rec.items():
self.ItemSimlist[user].setdefault(i,{})
for j, cij in related_items.items(): #cij:计算出的分子,存放喜欢i和j的某用户的时间加权#
self.ItemSimlist[user][i].setdefault(j,0)
self.ItemSimlist[user][i][j] = cij / math.sqrt(Item_count[i] * Item_count[j] * 1.0)
[code]
报错:
cf.ItemSim()
File "F:\PPractice\ml-100k\log.py", line 97, in ItemSim
self.ItemSimlist[user][i].setdefault(j,0)
MemoryError
怎么破,求助
def ItemSim(self,train = None):
train = train or self.traindata()
Item_count = dict() #浏览过每种物品的人数#
ItemSimcount = dict() #既浏览过i,又浏览过j的某人的时间加权#
for users,items in train.items():
for i,tui in items.items():
Item_count.setdefault(i,0)
Item_count[i] += 1
for j,tuj in items.items():
if i == j:
continue
ItemSimcount.setdefault(users,{})
ItemSimcount[users].setdefault(i,{})
ItemSimcount[users][i].setdefault(j,0)
ItemSimcount[users][i][j] += 1
self.ItemSimlist = dict()
for user,rec in ItemSimcount.items():
self.ItemSimlist.setdefault(user,{})
for i ,related_items in rec.items():
self.ItemSimlist[user].setdefault(i,{})
for j, cij in related_items.items(): #cij:计算出的分子,存放喜欢i和j的某用户的时间加权#
self.ItemSimlist[user][i].setdefault(j,0)
self.ItemSimlist[user][i][j] = cij / math.sqrt(Item_count[i] * Item_count[j] * 1.0)
[code]
报错:
cf.ItemSim()
File "F:\PPractice\ml-100k\log.py", line 97, in ItemSim
self.ItemSimlist[user][i].setdefault(j,0)
MemoryError
怎么破,求助
...全文
相关推荐
解决python报错MemoryError的问题
首先,我们得了解MemoryError错误本身。这个错误提示表明Python解释器在执行代码过程中没有足够的内存来完成操作。
优化Python代码以解决MemoryError问题
每当我们在使用Python进行编码时,经常会遇到各种各样的运行时错误提示。其中一个常见问题是MemoryError,它通常出现在程序试图分配比系统内存更多的内存空间时。这个错误对初学者来说尤其令人困惑
MemoryError.md
在具体实施时,我们需要注意算法的效率和数据结构的选择。
wangtua的博客附件(scrapy的memoryerror后续)
【标题】"wangtua的博客附件(scrapy的memoryerror后续)"涉及的主要知识点是Scrapy框架在处理大数据或复杂爬虫项目时遇到的内存错误(MemoryError)及其解决方案。
python异常总结
MemoryError异常在Python中较少见,但当Python运行时内存不足时,会抛出此异常。可以通过适当释放资源来解决。NameError异常发生在尝试访问一个未定义的变量时。


