def predict(self, X):
train_file = os.path.join(self.tmp_dir, 'train.svm')
pred_file = os.path.join(self.tmp_dir, 'pred.svm')
out_file = os.path.join(self.tmp_dir, 'out.txt')
print "Exporting pred..."
with open(pred_file, 'w') as f:
dump_svmlight_file(X, np.zeros(X.shape[0]), f=f)
params = self.params.copy()
params['iter'] = 0
params['task'] = 'r'
params['train'] = train_file
params['test'] = pred_file
params['out'] = out_file
params['load_model'] = os.path.join(self.tmp_dir, 'model.libfm')
params = " ".join("-{} {}".format(k, params[k]) for k in params)
command = "{} {}".format(self.exec_path, params)
print command
os.system(command)
return pd.read_csv(out_file, header=None).values.flatten()
评论列表
文章目录