准备用于多标签分类的训练数据集

时间:2016-05-01 21:53:18

标签: python scikit-learn classification multilabel-classification

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

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

1 个答案:

答案 0 :(得分:1)

我不认为load_files支持多标记类,说实话我从未使用scikit学习加载数据,我总是使用pandas进行初始数据加载和预处理。您的案例的一个选项是将您的数据存储为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('|')