gpt4 book ai didi

python - scikit.learn 和 kmeans 的新手,如何使用 K 均值对文档(来自文件)进行聚类?

转载 作者:行者123 更新时间:2023-11-28 22:01:36 27 4
gpt4 key购买 nike

我正在尝试做的是使用 scikit.learn 中的 Kmeans 将纯文本文档聚类为两个类别。

这是用例场景。我将收到一些样本集,这些样本集将被标记为“重要”和将被标记为“不重要”。

来自 scikit.learn 示例数据集是来自新闻组的预定义格式:

dataset = fetch_20newsgroups(subset='all', categories=categories,
shuffle=True, random_state=42)

我想做的是从文本文件中接收数据(20newsgroups 似乎根本不是文本文件,我什至无法解压缩)

我不清楚 fetch_20newsgroups 的数据结构及其工作原理。我应该如何将文本文件转换为所需的格式(由 fetch_20newsgroups 提供的格式)

谢谢

phyo.

最佳答案

scikit-learn 附带的 20 个新闻组数据集加载器获取从 http://kdd.ics.uci.edu/databases/20newsgroups/20newsgroups.html 的原始站点下载的文本文档的存档。然后将它们以压缩格式缓存在 $HOME/scikit_learn_data 文件夹中。看看 source code of the 20 newsgroups dataset loader了解更多详情。

要将您自己的文本文件集加载为 scikit-learn“bunch”对象,您可以使用 sklearn.datasets.load_files通过将其指向正确的文件夹直接运行。

如果您的数据已经分为 2 类(例如,名为“重要”和“不重要”的两个子文件夹),那么您需要使用的不是无监督的聚类算法,而是诸如 MultinomialNB(朴素贝叶斯)之类的分类)、LinearSVC(线性支持向量机)或 LogisticRegression,它们在 text classification example 中受到监督.

如果您不知道哪个文档属于哪个类别,但想将您的语料库分为 2 组相似的文档,那么您可以使用无监督聚类算法,例如 KMeans,但是您得到的 2 个聚类不太可能与您的相匹配“重要”和“不重要”的想法。

关于python - scikit.learn 和 kmeans 的新手,如何使用 K 均值对文档(来自文件)进行聚类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12783371/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com