def predict_one(self,_id,duration,pred_year):
try:
patent = self.params['patent'][str(_id)]
except KeyError,e:
return None
w1 = self.params['w1']
alpha = patent['alpha']
w2 = self.params['w2']
fea = numpy.mat(patent['fea'])
ti = patent['cite']
beta = numpy.mat(self.params['beta'])
cut_point = pred_year - int(float((patent['year'])))
tr = numpy.mat([x for x in ti if x <= cut_point])
pred = self.predict_year_by_year(tr,cut_point,duration,
beta*numpy.mat(fea).T,w1,alpha,w2)
_dict = {}
for i in range(len(pred)):
year = pred_year + i + 1
_dict[year] = pred[i]
_list = sorted(_dict.items(),key=lambda x:x[0])
return _list
评论列表
文章目录