我就搞不懂了,为什么运行老是会报类似于RuntimeWarning: overflow encountered in multiply的这种错误,这个应该不是代码逻辑的问题吧
部分代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File : TrustMF.py
from baseclass.SocialRecommender import SocialRecommender
import numpy as np
from tool import config
class TrustMF(SocialRecommender):
def __init__(self, conf,trainingSet=None,testSet=None,relation=list(),fold='[1]'):
super(TrustMF, self).__init__(conf,trainingSet,testSet,relation,fold)
def initModel(self):
super(TrustMF, self).initModel()
self.Br = np.random.rand(self.dao.trainingSize()[0], self.k) # latent user matrix
self.Wr = np.random.rand(self.dao.trainingSize()[0], self.k) # latent item matrix
self.Vr = np.random.rand(self.dao.trainingSize()[1], self.k) # latent item matrix
self.Be = np.random.rand(self.dao.trainingSize()[0], self.k) # latent user matrix
self.We = np.random.rand(self.dao.trainingSize()[0], self.k) # latent item matrix
self.Ve = np.random.rand(self.dao.trainingSize()[1], self.k) # latent item matrix
def readConfiguration(self):
super(TrustMF, self).readConfiguration()
regular = config.LineConfig(self.config['reg.lambda'])
self.regB = float(regular[