我正在使用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='nn')
print(model.score(x_train,y_train))
#make predictions
y_pred = model.predict(x_test)
关于如何让他们打印出正确的activity_id列表有什么想法吗?谢谢!
从你所写的,我相信你正试图显示你的索引x_test旁边的x_test生成的y_pred值。
这可以通过将model.predict(x_test)
的numpy数组输出转换为DataFrame来完成。然后我们可以将新DataFrame的索引设置为与x_test
的索引相同。
下面是一个例子,
df_pred = pd.DataFrame(y_pred, index=x_test.index, columns=['y_pred'])