阅读一些stackoverflow问题,我找不到我想要的东西,至少,我认为这不是我阅读各种帖子的时候。
我有一些训练数据设置,如描述here 所以,我使用sklearn.datasets.load_files读取它,因为它是一个完美的匹配设置。
但是我的文件已经是tsv,因为已经有一些单词(也就是每行都是一个单词,它的频率计数由一个标签分隔)。
说实话,我不知道该怎么办。 load_files引入的数据被设置为一个列表,其中每个元素是每个文件的内容,包括新行字符。我甚至不能100%确定Bunch数据类型如何跟踪哪些文件属于哪个分类器文件夹。
我之前使用scikit-learn使用tsvs,但它是一个包含所有数据的单个tsv文件,因此我使用pandas读取它然后使用numpy.array来获取我需要的东西,这是我试图做的事情之一,但我不知道如何使用多个文件,其中分类器是文件夹名称,就像之前使用过的单个tsv文件一样,每行训练数据都是单独的
有关将数据转换为可用于训练分类器的格式的一些帮助将不胜感激。
答案 0 :(得分:0)
您可以遍历文件并阅读它们,以创建字典列表,其中每个字典将包含每个文档的功能和频率。假设文件为1.txt:
import codecs
corpus = []
#make a loop over the files here and repeat the following
f = codecs.open("1.txt", encoding='utf8').read().splitlines()
corpus.append({line.split("\t")[0]:line.split("\t")[1] for line in f})
#exit the loop here
from sklearn.feature_extraction import DictVectorizer
vec=DictVectorizer()
X=vec.fit_transform(measurements)
您可以在此处找到DictVectorizer
的更多信息