首页 > 解决方案 > 从语料库创建新数据集时,如何克服 Python 中的 Errno 21 错误?

问题描述

基本上,我有一个从 Internet 编译的 .txt 语料库。为了使用其他一些分析工具(DecisionTreeClassifier、Bar Plots、TFiD 等),我正在尝试使用我在 Internet 上找到的代码将这个语料库转换为数据集(更多解释:https ://programminghistorian.org/ en/lessons/analyzing-documents-with-tfidf )

我将我的语料库矢量化为数组:

vectorizer = TfidfVectorizer(max_df=.65, min_df=1, use_idf=True, norm=None)
doc1= vectorizer.fit_transform(doc1withoutskipwords)

vectorizer = TfidfVectorizer(max_df=.65, min_df=1, use_idf=True, norm=None)
doc2= vectorizer.fit_transform(doc2withoutskipwords)

doctr1 = doc1toarray()
len(doctr1)

doctr2 = doc2.toarray()
len(doctr2)

Path("myname/nltk_data/tf_idf_output").mkdir(parents=True, exist_ok=True)
output_filenames = [str(txt_file).replace(".txt", ".csv").replace("txt/", "tf_idf_output/") for txt_file in doc1withoutskipwords]
for counter, doc in enumerate(poltrans):
    tf_idf_tuples = list(zip(vectorizer.get_feature_names(), doc))    
    one_doc_as_df = pd.DataFrame.from_records(tf_idf_tuples, columns=['term', 'score']).sort_values(by='score', ascending=False).reset_index(drop=True)
    one_doc_as_df.to_csv(output_filenames[counter])

然后我收到这个错误: IsADirectoryError: [Errno 21] Is a directory: 'documents'

我能够分别运行 Path 和 output_filenames 代码行并且它们起作用了。我在我想要的地方有 tf_id_output 文件。但是,我无法解决其余的问题。

我是一个非常新手的 Python 编码器,所以我很困惑。

标签: pythontextnltkdecision-treetf-idf

解决方案


推荐阅读