TypeError:需要一个整数(获取类型str)LDAvis



我是Python和数据科学的新手。我正在尝试进行一些LDA可视化,但由于某种原因,我一直收到以下错误。如有任何帮助,我们将不胜感激!

类型错误:需要一个整数(获取类型str(

import os
LDAvis_data_filepath = os.path.join('./ldavis_prepared_'+str(number_topics))
# # this is a bit time consuming - make the if statement True
# # if you want to execute visualization prep yourself
if 1 == 1:
LDAvis_prepared = sklearn_lda.prepare(lda, count_data, count_vectorizer)
with open(LDAvis_data_filepath, 'wb', 'utf-8') as f:
pickle.dump(LDAvis_prepared, f)
#load the pre-prepared pyLDAvis data from disk
with open(LDAvis_data_filepath,'rb', 'utf-8') as f:
pickle.dump(LDAvis_prepared, f)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-110-4459335c1578> in <module>
----> 1 with open(LDAvis_data_filepath, 'wb', 'utf-8') as f:
2         pickle.dump(LDAvis_prepared, f)
3         # load the pre-prepared pyLDAvis data from disk
4 with open(LDAvis_data_filepath,'rb', 'utf-8') as f:
5     pickle.dump(LDAvis_prepared, f)
TypeError: an integer is required (got type str)

编码是open的第四个参数,而不是第三个。看两分钟的文件就知道了。您的第二个pickle调用几乎肯定应该是load,而不是dump

with open(LDAvis_data_filepath, 'wb', encoding='utf-8') as f:
pickle.dump(LDAvis_prepared, f)
#load the pre-prepared pyLDAvis data from disk
with open(LDAvis_data_filepath, 'rb', encoding='utf-8') as f:
pickle.load(LDAvis_prepared, f)

最新更新