2017-09-05 48 views
0

我想執行多標籤分類。 A有一個我加載的arff格式的數據集。但是,我現在不知道如何將導入數據轉換爲X和y向量,以便應用sklearn/train_test_split。從加載的arff文件創建列車和測試變量

我怎樣才能得到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) 
+0

從哪裏下載了'yeast-train.arff'? 'data'裏面必須有一列是你的'y'。而其他所有列(不包括目標列'y')成爲您的'X'。 –

+0

我從[這裏下載](http://sourceforge.net/projects/mulan/files/datasets/yeast.rar) – user1649606

回答

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]