Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将numpy稀疏矩阵保存到文件中_Numpy_Save_Scikit Learn_Sparse Matrix - Fatal编程技术网

将numpy稀疏矩阵保存到文件中

将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.

我想将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.dump
。NumPy无法获得SciPy稀疏矩阵。

我通过将稀疏矩阵转换为完整矩阵,然后保存矩阵并保存结果来解决此问题。但是,这种方法对于大型阵列没有用处,因此最好以.pkl格式保存矩阵

简单的例子:

np.save('TfIdf.pkl',tfidf)

虽然
np.savetxt
无法保存稀疏矩阵,因为它没有将其转换为文本的方法,
np.save
可以工作-它将稀疏矩阵包装在对象数据类型数组中,并将其保存为二进制。您能提供一个示例吗@弗莱德