用Scikitlearn进行文本分类

2024-04-18 12:21:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用scikit learn为两个标签做文本分类。。我正在用load_files方法加载我的文本文件

categories={'label0','label1'}
text_data = load_files(path,categories=categories)

从以下结构:

^{pr2}$

我的问题是当我试着看文本的形状时_数据。数据它返回:

print (type(text_data.data))
<type 'list'>

print text_data.data.shape
AttributeError: 'list' object has no attribute 'shape'

X = np.array(text_data.data)
print x.shape
(35,)

它返回1D数组。。我认为它应该是2D numpy数组或字典,其中第一个用于文本,另一个用于类(label0或1)。。 我错过什么了吗?在


Tags: 数据text文本datatypeloadfiles数组
1条回答
网友
1楼 · 发布于 2024-04-18 12:21:55

问题是在调用load_files之后,它还不是numpy数组。它只是一个文本列表。您应该使用CountVectorizerTfidfVectorizer将文本矢量化。在

示例:

cv = CountVectorizer()
X = cv.fit_transform(text_data.data)
y = text_data.target
print cv.vocabulary_  # Show words in vocabulary with column index

clf = LogisticRegression() # or other classifier
clf.fit(X, y)

相关问题 更多 >