Pandas Dataframe用于Train_Test_Split

时间:2017-09-17 22:28:22

标签: python-3.x sklearn-pandas

我是数据分析和机器学习的新手,我有以下问题。我有以下数据集,我想使用算法K最近邻使用pandas和sklearn进行分析:

https://archive.ics.uci.edu/ml/datasets/Credit+Approval

首先,我将数据集加载到数据框中,每个列都包含标题(A1A16):

df =  pd.read_csv('crx.csv').dropna().reset_index(drop = True)

我的问题是,如何使用train_test_split功能:

a)在测试中拆分数据并训练

b)同时将列A1标记为A15作为标记,将A16标记为标记?

我希望有类似下面的代码,当然这不符合我的意愿:

X_train, X_test, y_train, y_test = train_test_split(df[0:16], df['A16'], random_state=0)

其中X_train将75%的数据从A1列添加到A15X_test其余25%,y_train相同的75%的数据但只有列A16(目标)和y_test其余25%。

我的意图是稍后将KNeighborsClassifier.fit与训练数据一起使用。

提前谢谢你,

1 个答案:

答案 0 :(得分:1)

改为使用df.iloc[:,0:16](或df[['A1', 'A2', 'A3', ...]],但在您的情况下更麻烦):

train_test_tuple = train_test_split(df.iloc[:,0:16], df['A16'], random_state=0)

请参阅documentation for iloc