如何使用输出打印出正确的Id

时间:2016-10-05 14:19:49

标签: python pandas scikit-learn

我正在使用sklearn和pandas,我的预测是作为一个没有正确id的数组出现的,它已被设置为索引。

我的代码:

train = train.set_index('activity_id')
test = test.set_index('activity_id')

y_train = train['outcome']
x_train = train.drop('people_id', axis=1)
x_test = test

model = DecisionTreeClassifier(min_samples_leaf=100)

model.fit(x_train,y_train)


scores = cross_val_score(model, x_train,y_train, cv=10)
print('mean: {:.3f} (std: {:.3f})'.format(scores.mean(), scores.std()), end='\n\n')
print(model.score(x_train,y_train))
#make predictions
y_pred = model.predict(x_test)

有关如何使用正确的activity_id列表打印出来的任何想法?谢谢!

1 个答案:

答案 0 :(得分:1)

根据您所写的内容,我相信您正在尝试在x_test生成的y_pred值旁边显示x_test的索引。

这可以通过将numpy数组输出从model.predict(x_test)转换为DataFrame来完成。然后我们可以将新DataFrame的索引设置为与x_test的索引相同。

这是一个例子,

df_pred = pd.DataFrame(y_pred, index=x_test.index, columns=['y_pred'])