我正在学习使用Scikit-Learn对推文进行分类。我有一个CSV文件,其中一列是推文,下一列是它们的分类,从0到11。我查看了Scikit-Learn网站上的这个教程,我认为我理解了实际分类的过程,但我不确定我是否真正理解了数据格式。在教程中,材料存放在文件夹中,文件夹名称作为分类标签使用。
在我的情况下,我需要从CSV文件中加载数据,并且显然我需要手动构建提供给向量化器和分类器的数据结构。我应该如何处理这个问题?我认为教程在这方面有点模糊,因为数据加载是自动完成的,这让我对自定义数据的结构和加载方式感到困惑。
回答:
通常情况下,你会使用pandas.read_csv,或者如果你不想依赖pandas,可以使用numpy.load,甚至可以使用标准库将CSV加载到列表中。代码看起来像这样:
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
df = pd.read_csv('example.csv', header=None, sep=',',
names=['tweets', 'class']) # 如果没有表头,指定列名
vect = TfidfVectorizer()
X = vect.fit_transform(df['tweets'])
y = df['class']
一旦你有了X
和y
,你就可以将它们输入到分类器中。