将numpy稀疏矩阵保存到文件中
我想将sklearn.feature_extraction.text中TfidfVectorizer的结果保存到文本文件中,以备将来使用。正如我发现的,它是类型为“”的稀疏矩阵。但是,当我尝试使用以下代码保存它时将numpy稀疏矩阵保存到文件中,numpy,save,scikit-learn,sparse-matrix,Numpy,Save,Scikit Learn,Sparse Matrix,我想将sklearn.feature_extraction.text中TfidfVectorizer的结果保存到文本文件中,以备将来使用。正如我发现的,它是类型为“”的稀疏矩阵。但是,当我尝试使用以下代码保存它时 np.savetxt('Feature_TfIdf.txt', X_Tfidf, fmt='%2.6f') 我犯了这样的错误 IndexError: tuple index out of range 为此使用joblib.dump或sklearn.externals.joblib.
np.savetxt('Feature_TfIdf.txt', X_Tfidf, fmt='%2.6f')
我犯了这样的错误
IndexError: tuple index out of range
为此使用
joblib.dump
或sklearn.externals.joblib.dump
。NumPy无法获得SciPy稀疏矩阵。我通过将稀疏矩阵转换为完整矩阵,然后保存矩阵并保存结果来解决此问题。但是,这种方法对于大型阵列没有用处,因此最好以.pkl格式保存矩阵 简单的例子:
np.save('TfIdf.pkl',tfidf)
虽然
np.savetxt
无法保存稀疏矩阵,因为它没有将其转换为文本的方法,np.save
可以工作-它将稀疏矩阵包装在对象数据类型数组中,并将其保存为二进制。您能提供一个示例吗@弗莱德