繁体   English   中英

使用Scikit学习进行文本分类

[英]Text classification with Scikit-learn

我正在使用scikit learning对两个标签进行文本分类。我正在使用load_files方法加载文本文件

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

从以下结构:

train
├── Label0
│   ├── 0001.txt
│   └── 0002.txt
└── Label1
    ├── 0001.txt
    └── 0002.txt

我的问题是,当我尝试查看text_data.data的形状时,它返回:

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)..我错过了什么吗?

问题是调用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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM