Python 将相似性矩阵导出到CSV

Python 将相似性矩阵导出到CSV,python,pandas,dataframe,Python,Pandas,Dataframe,我一直在玩惊喜库,我正试图建立一个网站的前40名电影推荐人。如何将相似性矩阵转换为CSV,以便为我的网站构建API?是否有其他替代方案,因为每次为每个用户运行算法都会很慢/效率低下 相似性矩阵生成代码片段 from surprise import KNNBaseline sim_options = {'name': 'cosine', 'user_based': False} self.simsAlgo = KNNBaseline(sim_options=sim_options) self.s

我一直在玩惊喜库,我正试图建立一个网站的前40名电影推荐人。如何将相似性矩阵转换为CSV,以便为我的网站构建API?是否有其他替代方案,因为每次为每个用户运行算法都会很慢/效率低下

相似性矩阵生成代码片段

from surprise import KNNBaseline

sim_options = {'name': 'cosine', 'user_based': False}
self.simsAlgo = KNNBaseline(sim_options=sim_options)
self.simsAlgo.fit(self.fullTrainSet)
我尝试过的

我试图用pandas创建一个相似性数据框,但似乎有一个问题我不明白。很肯定这不是正确的方法

import pandas

similarityFile = "similarity.csv"
pandas.DataFrame(self.simsAlgo).to_csv(similarityFile, sep=';')
这会抛出一个
ValueError:DataFrame构造函数未正确调用错误

 File "SVDBakeOff.py", line 31, in <module>
    evaluator = Evaluator(evaluationData, rankings)
  File "/home/nived/Desktop/RecSys-Materials/MatrixFactorization/Evaluator.py", line 15, in __init__
    ed = EvaluationData(dataset, rankings)
  File "/home/nived/Desktop/RecSys-Materials/MatrixFactorization/EvaluationData.py", line 41, in __init__
    self.simsDf = pandas.DataFrame(self.simsAlgo)
  File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 485, in __init__
    raise ValueError("DataFrame constructor not properly called!")
ValueError: DataFrame constructor not properly called!
文件“SVDBakeOff.py”,第31行,在
评估者=评估者(评估数据、排名)
文件“/home/nived/Desktop/RecSys Materials/MatrixFactorization/Evaluator.py”,第15行,在__
ed=评估数据(数据集、排名)
文件“/home/nived/Desktop/RecSys Materials/MatrixFactorization/EvaluationData.py”,第41行,在__
self.simsDf=pandas.DataFrame(self.simsAlgo)
文件“/usr/lib/python3/dist packages/pandas/core/frame.py”,第485行,在__
raise VALUERROR(“未正确调用数据帧构造函数!”)
ValueError:未正确调用数据帧构造函数!

这一切都很新鲜,所以请帮帮我

你是在哪一步得到数据的,所以根据这一步我们可以提供输入。我不太明白你的意思。我想把这个余弦相似矩阵导出到CSV或pickle文件中,这样我就可以利用这些数据了。我的意思是“self.simsAlgo”包含您试图导出到csv的数据?错误可能被解释为您将错误格式的数据提供给pandas data frame函数,该函数无法理解您的数据以创建框架。是的,这只是我尝试过的。SimsAlgo是一种令人惊讶的库类型,因此我将无法遍历它/格式化数据。我该怎么做呢?