train_test_split在索引切片后没有删除y训练和测试变量

时间:2018-08-22 15:57:45

标签: python pandas one-hot-encoding train-test-split

我已经多次使用train_test_split()进行索引切片,但是由于某种原因,它保留了y训练集和测试集的预测值。以下是示例数据,以及训练/测试切片和形状。

原始数据示例:

nypd_dummy.head(3

      borough   status
start 
2016  BRONX     ATTEMPTED
2017  BROOKLYN  ATTEMPTED
2018  BRONX     COMPLETED

示例数据:

    nypd_dummies = pd.get_dummies(nypd_dummy)
    nypd_dummies.head(3)

          borough_BRONX borough_BROOKLYN status_ATTEMPTED status_COMPLETED
start     
2016      1             0                1                0
2017      0             1                1                0                
2018      1             0                0                1

X_dummies = nypd_dummies.iloc[:, 2:]
y_dummies = nypd_dummies.iloc[:, :2]
xtrain_dummy, xtest_dummy, ytrain_dummy, ytest_dummy = train_test_split(X_dummies, y_dummies, test_size=0.3)

print 'x train:', xtrain_dummy.shape, 'x test:', xtest_dummy.shape
print 'y train:', ytrain_dummy.shape, 'y test:', ytest_dummy.shape

x train: (3, 2) x test: (1, 2)
y train: (3, 2) y test: (1, 2)

Ultimatel我的目标是创建一个可以预测行政区的模型-因为我要从多列而不是单个输出中提取预测值,所以它不能正确切片吗?

1 个答案:

答案 0 :(得分:0)

您的代码将生成具有以下结构的Ys数据帧(用于训练和测试):

       borough_BRONX  borough_BROOKLYN
start                                 
2018               1                 0

由于您希望有一个估算值(预测“自治市镇”等级),因此您可能希望有一个标签列。 Here是处理熊猫中分类数据的教程。