从加载的arff文件创建训练和测试变量

时间:2017-09-05 15:10:48

标签: python arff multilabel-classification train-test-split

我想进行多标签分类。我有一个arff格式的数据集,我加载。但是我现在不知道如何将导入数据转换为X和y向量以应用sklearn / train_test_split。

我怎样才能得到X和y?

data, meta = scipy.io.arff.loadarff('../yeast-train.arff')
df = pd.DataFrame(data)

#Get X, y
X, y = ??? <---

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

1 个答案:

答案 0 :(得分:0)

确定。它是一个多标签数据,其中的要素位于Att1, Att2, Att3.... Att20列,目标位于Class1, Class2, .... Class14列。

因此,您需要使用这些列来获取X和y。这样做:

# Fill the .... with all other column names
feature_cols = ['Att1', 'Att2', 'Att3', 'Att4', 'Att5' ....   'Att20']
target_cols = ['Class1', 'Class2', 'Class3', 'Class4', ....   'Class14']

X, y = df[feature_cols], df[target_cols]