0

我已经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)

最终,我的目标是创建一个预测自治市镇的模型 - 它是否没有正确切片,因为我从多个列而不是单个输出中提取预测值?

4

1 回答 1

0

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

       borough_BRONX  borough_BROOKLYN
start                                 
2018               1                 0

由于您希望进行单一估计(预测“自治市镇”类别),因此您可能希望有一个标签列。是处理熊猫分类数据的教程。

于 2018-08-22T19:50:22.473 回答