2

我只是遵循代码here(对sklearn 0.17稍作修改)。在那个例子中,数据只是列表或numpy数组。现在我想在磁盘上准备一个玩具训练数据集,并使用datasets.load_files加载它进行多标签分类。但是,只需遵循load_files惯例,然后将同一文件复制到多个文件夹中,就不会为dataset.target生成列表(又名。标签集)。准备一个多标记分类的训练数据集

那么准备多标记分类数据集的正确方法是什么?

回答

1

我不认为load_files支持多标签类,老实说,我从来没有使用scikit学习加载数据,我总是使用熊猫进行初始数据加载和预处理。对于你的情况的一个选择是将存储你的数据为csv,序列化的标签作为管道分隔列表

例如文件data.csv可能是

recipe_name,classes 
'stir fried broccoli',chinese|vegetarian 
'kung po chicken',chinese|meat 
'sauerkraut salad',vegetarian|polish 

而且需要按如下加载:

import pandas as pd 
df = pd.read_csv('data.csv') 
X_train = df.recipe_name 
y_train = df.classes.str.split('|') 
+0

谢谢@maxymoo,这是一个很好的观点。我抓取和存储多个文件,所以也许我只会使用标签列表命名每个文档,不再使用文件夹结构,并编写一个函数来分析文件名并读取内容... – treslumen

+1

如果您正在爬网,您可能会想要考虑使用像mongodb或postgres这样的数据库,从长远来看,您可能会为此感到高兴,而不是有大量文件在浮动。你也可以在数据库上做一些可以方便使用的预处理。 – maxymoo

相关问题