首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将文档分配给预定义分类的方法

将文档分配给预定义分类的方法
EN

Data Science用户
提问于 2022-12-26 02:57:02
回答 1查看 15关注 0票数 0

我正在寻找一种将文档(30K和growing)分配给大约200种类别的方法。

类别将由用户定义,并将随着时间的推移而增长。

由于我的数据没有标签,我的思维过程是尝试构建一个系统,通过提供一个粗略的第一遍分类器来帮助手动分类。然后,用户可以快速浏览分类文档,并接受/拒绝分类。

一旦我们有足够的大量机密文件,那么我希望使用一些人工智能系统自动分类剩余的文件和新的文件,因为他们被公布。

我曾经玩过LDA,但据我所知,LDA本质上选择的主题不一定要映射到我想要定义的类别。

我还构建了一个规则引擎,允许我手动定义通用关键字,将每个文档映射到一个类别,但这仍然是一个相当手工的过程,因为我需要为每个类别定义关键字。

EN

回答 1

Data Science用户

发布于 2022-12-26 10:10:43

通过随机森林分类器可以实现文本输入的多输出分类。

首先,您需要将文本向量化,以使数据具有多维性,并允许分类器轻松地分离数据。

代码语言:javascript
运行
复制
from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split

# Extract features with a word frequency (for example)
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(texts)

然后,您可以从sklearn中应用随机森林分类器,它可以轻松地自动对矢量化数据进行分类。

代码语言:javascript
运行
复制
#Train/test split
X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.2)

# Training
clf = RandomForestClassifier(n_estimators=200, max_depth=15)
clf.fit(X_train, y_train)

# Make predictions on the test set
y_pred = clf.predict(X_test)

# Model accuracy
accuracy = clf.score(X_test, y_test)

X_test为文本输入,y_pred为多输出分类结果.

或者,您可以使用TfidfVectorizer而不是CountVectorizer。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/117308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档